现在的情况是:
启动I2C总线后,发送器件地址(PCF8576CT,器件地址为70H,SA0,A2/A1/A0接地),后能检测到应答信号,但是接下来发送的数据就不能够检测到应答信号了。SDA管脚始终为1。
不知到为什么。
想各位大侠请教了。^_^
用万用表测得SDA和SCL两个信号都是有信号的。
我发送的数据是:
70H(PCF8576CT的器件地址)、E0H(发送子地址)、48H(工作模式)
发送70H后测得应答信号是正确的,发送E0H或者48H后就检测不到应答信号。
问题解决了。
原来是发送完一个字节,把SDA置高以后没有及时把SDA信号设置成输入引起的。
所以,2812把SDA置成高电平后,PCF8576CT把SDA给置成低电平,这时管脚测得电压为1.77v,然后2812再把SDA设置成输入模式,这是SDA电平又从1.77V降低到0v,(这时SCL管脚为高电平),对于电压从1.77v变成0v的过程,PCF8576CT可能认为是再次启动I2C总线--不知道这么解释对不对。^_^