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加密芯片的地址到底泽怎么搞 嗨没人帮解答下啊!!!都没做过这个??? 做过别的平台的,手册肯定是没有问题的 at88sc0104的我做过(最复杂的认证和加密都做了),用标准I2C好像搞不定的,因为它要求的一些SCL/SDA时序,标准I2C产生不了。我当时用2个GPIO做的。 要delay等待sck反应的吧 读的时候的地址 I2C 是自动+1 的 因此 例如 读用户区ioctl(fd, I2C_SLAVE, 0xb2 - 1); 您好,最近在调加密芯片,有个问题想请教。怎么设置访问权限为读写都不加密不认证,流程是什么样的?
现在的情况是,可以对MTZ 进行读写,直接写AR寄存器的时候发送完写字节数(N)后收不到ack ,read fuse 结果为0,回复 4# leemanliang
页:
[1]