总结
1、初始化后总线一直处于buzy:大部分原因是因为硬件,检查通讯电路是否正常,默认总线空闲为高。
2、运行一段事件后buzy卡死:通讯过程中造成硬件短路、通讯的外设(eeprom等)因为受到干扰不正常强制拉低通讯电路,也要先检查硬件。如果硬件没问题需要软件复位IIC通讯。
3、软件复位IIC通讯:在调用软复位IIC接口前需要拉高SCL和SDA通讯脚,间隔几十微妙后检测一下是否被拉高,检测到拉高后再调用软复位。
4、程序卡在等待设备忙碌:忙碌检测逻辑有问题,参考下面链接
参考连接
这两个链接够用了
https://blog.csdn.net/qq_35598074/article/details/119996488?spm=1001.2014.3001.5506
https://blog.csdn.net/dldw8816/article/details/51579781