Other Parts Discussed in Thread:PCA9544A
那个PCA9544A的i2c扩展芯片,它的寄存器的值修改后,为啥读取出来的没变化呢?设备地址是0x70,我读写的寄存器是0x0
软件就是打开这i2c总线,然后读取设备地址是x70,读写的寄存器是0x00,不管我写什么数据,读出来的数值都是0xf0
我们现在是打算修改寄存器的值,我们写了,也返回了写成功了,但是读取的时候还是0xf0
这个引脚悬空有影响吗
Kailyn Chen:
INT悬空应该不会影响到寄存器的配置。这个脚是输出,可以通过它的电平确定主机是否发生中断。
从机地址1110A2A1A0,第八位是读写位,写为0,读为1,所以地址不是0X70,应该为0XE0,读寄存器的时候地址应该为0XE1。您这边再试试,所以您说写能收到ACK信号,应该是不能的,可以用示波器量下时序。
,
Tonyx.wu:
我试了写的地址是0XE0,读的寄存器地址是0XE1,是无法读写的,函数返回都是错误,厂家有他的例程吗?
寄存器地址是0X00么?
,
Kailyn Chen:
抱歉我们没有例程,您也可以参考下其他成功的I2C案例,对于PCA9544A来说,下面这个是写时序,slave address 为0xE0,第八位读写位R/W. 主机发送完0XE0后是否有收到ACK信号?