“线程:PCF8575”中讨论的其它部件
大家好!
我在 POSIX/ TI-RTOS (SL SDK 3_30)中使用 I2C (100/400 KHz),与一些 I2C IO 扩展器 PCF8575无问题地通话。
驱动程序的用法类似于 I2 master 的 SDK 示例(非阻塞,无超时)。
由逻辑分析器中的外部辐射干扰引起的(重现性),我同时看到了大约60ns 的峰值设置 SCL=SDA=0。
在此事件发生后,I2C 传输立即停止,我认为 MSP432驱动程序在未定义状态下挂起。
我尝试用陶瓷盖过滤尖峰信号,但这确实防止了问题的发生。
因此,我需要找到一个解决方法,以便在发生这些峰值事件后再次运行 I2C。
对此有一些想法:
如果 SW 无法检测到这种不规则状态,我是否有时间(通过 close()和 open()再次)重新启动 I2C 以中止这种状态?
-我不使用超时。超时是否会使驱动程序脱离这些状态?
任何想法都很受欢迎!
