关于C8051中的I2C通信

2025-01-06 02:28:54
推荐回答(2个)
回答1:

1、楼主,不知道是你不小心打错字还是干吗,我要说的是ACK是SDA为低,你说的SDA为高是NACK,当然不行了.检查设备地址是否正确,注意是7位设备地址.比如地址是0x20,发送的就应该是0x40(0x41).
2、一般发送一个8位地址(数字也一样)以后,最好Delay一段时间,再去Check ACK.

回答2:

很可能是CPU程序没识别出ACK,所以一直发。