当前位置: 技术问答>linux和unix
IIC使用外部寄存器的问题【高分求助】
来源: 互联网 发布时间:2017-03-07
本文导语: 我在2410板子上向C02寄存器中读写数据没有任何问题,但在使用外部IIC的时候却始终有问题,读出的数据和写入的数据完全不一样,大家帮我分析下,我的IIC程序如下:/************************************ * *GEC-2410-BOX * ...
我在2410板子上向C02寄存器中读写数据没有任何问题,但在使用外部IIC的时候却始终有问题,读出的数据和写入的数据完全不一样,大家帮我分析下,我的IIC程序如下:/************************************
* *GEC-2410-BOX
* *eeprom at24c02 test program
************************************/
#include
#include
#include
#include
#define CHIP_ADDR 0x3F
#define PAGE_SIZE 0x08
#define I2C_DEV_PATH "/dev/i2c-0"
static int read_eeprom(int fd, char buff[], int addr, int count)
{
int res;
if(write(fd, &addr, 1) != 1)
return -1;
res=read(fd, buff, count);
printf("read %d byte at 0x%.2xn", res, addr);
return res;
}
static int write_eeprom(int fd, char buff[], int addr, int count)
{
int res;
int i;
char sendbuffer[PAGE_SIZE+1];
memcpy(sendbuffer+1, buff, count);
sendbuffer[0]=addr;
res= write(fd, sendbuffer, count+1);
printf("write %d byte at 0x%.2xn", res ,addr);
}
int main(void)
{
int fd, n, res;
unsigned char buf[PAGE_SIZE];
fd = open(I2C_DEV_PATH, O_RDWR);
if(fd
* *GEC-2410-BOX
* *eeprom at24c02 test program
************************************/
#include
#include
#include
#include
#define CHIP_ADDR 0x3F
#define PAGE_SIZE 0x08
#define I2C_DEV_PATH "/dev/i2c-0"
static int read_eeprom(int fd, char buff[], int addr, int count)
{
int res;
if(write(fd, &addr, 1) != 1)
return -1;
res=read(fd, buff, count);
printf("read %d byte at 0x%.2xn", res, addr);
return res;
}
static int write_eeprom(int fd, char buff[], int addr, int count)
{
int res;
int i;
char sendbuffer[PAGE_SIZE+1];
memcpy(sendbuffer+1, buff, count);
sendbuffer[0]=addr;
res= write(fd, sendbuffer, count+1);
printf("write %d byte at 0x%.2xn", res ,addr);
}
int main(void)
{
int fd, n, res;
unsigned char buf[PAGE_SIZE];
fd = open(I2C_DEV_PATH, O_RDWR);
if(fd
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!