主题中讨论的其他器件:、 TM4C129ENCPDT、 P82B715
我将在 TIRTOS 下使用 TI 驱动程序来写入 PCF8574和 PCF8574A 器件。
TM4C129ENCPDT 处理器、正在使用可用于该处理器的最新 TIRTOS。
写入操作始终有效、但回调函数并不总是返回真。
如果我在 IO 扩展器的位0中写入1、我总是得到返回 true。
但是、如果我向位0写入0、某些器件将始终从驱动程序返回错误状态。
一些器件基本上每次都会发生故障、而其他器件则是间歇性的。
写入本身始终有效、并且输出已正确激活、但未检测到 ACK、因此 TI 驱动程序返回未成功的传输。
由于我希望能够检测芯片何时存在、这会导致问题、因为我无法检测到缺少芯片与芯片由于位0为0而没有响应之间的差异。
我注意到其他人在堆栈溢出中报告了类似的问题、但没有提供解决方案。
在 CRO 上看起来好像有一个 ACK、但有时会延迟、当位0为0时、这在位0为1时非常一致。
可以对驱动程序进行任何调整以允许更长的 ACK 延迟、还是这在硬件中固定。
100kHz 或400kHz 时都会出现问题、因此与 I2C 总线速度无关。