用TCA9555PWR 这颗IC做IO 扩展,I2C操作有些问题,目前定位在这个地方:
把数据写入到0x06寄存器中,发现TCA9555PWR 地址写入和0x06写入都正常应答,但是最后写入数据那个周期没有应答,结果I2C总线被锁死。
不过,写数据到0x02寄存器是正常的。
请问这是什么原因?
Kailyn Chen:
您好,0X06的数据写的是什么?
另外,除了0X02 正常,其他寄存器也存在和0X 06 这样的情况吗?
jie zou:
回复 Kailyn Chen:
写入到0x02中的是0x37,
写入到0x07寄存器应答也不正常
写入到0x03寄存器应答是正常
jie zou:
回复 Kailyn Chen:
由于I2C总线无应答后锁死,无法进行之后的其他硬件调试,需要尽快解决
Kailyn Chen:
回复 jie zou:
您好,需要确认两点:
1.是否合理的上电时序? 或者说上电之后读取0X07和0X06的默认值是否正确的?
2. 因为0X02和0X03两个寄存器是配置output port电平的,对 input port没有影响,而0X06和0X07 是配置port为input还是output的,所以我想是否0X02或0X03 配置某一port的output电平,而在0X06或者0X07 配置的是 input port,这样导致前后矛盾,所以收不到ACK?
jie zou:
回复 Kailyn Chen:
上电顺序指的是什么?这颗芯片就只有一个VCC和GND,单电源的芯片