aimybbe 发表于 2011-03-13 11:32

AT88scXX系列芯片的从设备地址(linux下标准I2C读写)

小弟最近咋做一个关于AT88SCXxde 芯片
使用linux标注的I2C接口读写AT88SC。。
打开/dev/i2c-0后,
ioctl(fd, I2C_SLAVE, (0xb4>>1);
选择从设备地址,这个地址是个7位,我测试MTZ区是可以写进去
通过查询手册写命令是
发送B4 addr1 addr2 N data1data2....(数量为N)
char buf = {0};
buf = 0x00;    //addr1
buf = 0x0a;   //addr2
buf = 2;      //N
buf = 0x22;//data1
buf = 0x33;//data2
write(fd,buf,5);
写进去成功了(使用串口调试),
读的时候就不正确
读命令
B6 addr1 addr2 N data1 data2....(N个)

ioctl(fd, I2C_SLAVE, (0xb6>>1);       //IIC的从设备地址改变了,这里很迷惑。。但是又不得不这样做AT88的指令是这样的。。
buf = 0;
buf = 0;
if(write(fd,buf,3) != 3)
{
//error;
exit(1);
}
read(fd, buf+3,2);
printf的buf,buf,不正确

不知道哪位大侠做过这个相关的,帮忙看下,这个AT88sc加密芯片的地址到底泽怎么搞

aimybbe 发表于 2011-03-13 18:57

嗨没人帮解答下啊!!!都没做过这个???

killeder 发表于 2011-03-13 20:36

做过别的平台的,手册肯定是没有问题的

leemanliang 发表于 2011-11-19 22:44

at88sc0104的我做过(最复杂的认证和加密都做了),用标准I2C好像搞不定的,因为它要求的一些SCL/SDA时序,标准I2C产生不了。我当时用2个GPIO做的。

oreywei 发表于 2012-03-14 11:13

要delay等待sck反应的吧

oreywei 发表于 2012-04-27 15:24

读的时候的地址 I2C 是自动+1 的 因此 例如 读用户区ioctl(fd, I2C_SLAVE, 0xb2 - 1);

小不点的成长 发表于 2015-11-04 15:06

您好,最近在调加密芯片,有个问题想请教。怎么设置访问权限为读写都不加密不认证,流程是什么样的?
现在的情况是,可以对MTZ 进行读写,直接写AR寄存器的时候发送完写字节数(N)后收不到ack ,read fuse 结果为0,回复 4# leemanliang


   
页: [1]
查看完整版本: AT88scXX系列芯片的从设备地址(linux下标准I2C读写)