如何给AT24C02写一个字符串并保存它
2个回答
展开全部
一个垃圾代码……可以看看;
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>
#define AT24C02A 0x50
int main(void)
{
int fd;
fd=open("/dev/i2c-0",O_RDWR);
if(fd<0)
{
perror("open i2c controller");
return 1;
}
//unsigned char reg=0x00;
unsigned char datas[6];
datas[0]=0;
datas[1]='H';
datas[2]='E';
datas[3]='L';
datas[4]='L';
datas[5]='O';
datas[6]='\0';
struct i2c_msg msgs={AT24C02A,0,sizeof(datas),datas};
struct i2c_rdwr_ioctl_data rdat={
.msgs=&msgs,
.nmsgs=1,
};
if(ioctl(fd,I2C_RDWR,&rdat)<0)
{
perror("i2c rdwr failed\n");
return 2;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询