驱动调试:导致IIC通讯失败原因总结

部分是自己遇到过的,部分是网上看的,总结一下!

1、最简单的可能就是通讯地址不对了,地址一定通讯不了,要注意驱动7位地址和8位地址,7位地址是不带读写位的。

假设7位地址是0x1A。

驱动调试:导致IIC通讯失败原因总结_第1张图片

8位地址在加上读写位的情况下写是0x34,读是0x35

驱动调试:导致IIC通讯失败原因总结_第2张图片

1、确保SDA和SCL所配置的GPIO没有被配置,否则会硬件配置出问题或者GPIO设置无效。

2、、若I2C配置无误后,检查相关硬件问题

使用万用表测量I2C_SDA以及I2C_SCL的供电电压,如果与原理图中所示供电电压相差无几,则表示I2C供电电压没有问题。反之,则代表供电电压存在问题

3、时序不对,高低电平时间不匹配,导致数据起始和终止状态不对。

4、通讯电压不对,常用的IIC通讯电压为1.8V和3.3V。这个有时电压不对,通讯没问题,但是芯片工作状态不对。

暂时这样,后面再续.......

 

你可能感兴趣的:(驱动调试:导致IIC通讯失败原因总结)