ME IIC触发TOIF(线路低电平超时)
-
-
通常来说异常死锁会造成低电平的现象:
当Slave输出应答信号或者输出数据0时,Master发生异常复位,此时SCL会保持或被释放为高电平,但因为Slave没有复位,就会继续应答,保持SDA为低电平,直到SCL变为低电平;Master复位后,检测到SCL为高,SDA为低,则认为I2C总线被占用,然后一直等待总线被释放(SCL、SDA均为高);最终Master和Slave相互等待,形成I2C死锁现象。解决方法:
- 给从机复位信号(如果有复位脚)
- SCL复用为GPIO,推送9个Clock到SCL总线上(当死锁发生在Slave发送的第1位数据上时,最多需要9个时钟周期才能结束通讯),使Slave释放SDA为高电平。
-
gaoSheng 1.3.0 SDK有bug,会导致timeout误触发,请确认并修改如下函数。
https://yt-static-media.oss-cn-hangzhou.aliyuncs.com/nodebb/11/a7f4b039-6162-463b-aa6e-27dd353d6b75.png
1/5
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...