请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
我正在做一个使用I2C通信的项目,当我发送“复位”命令时,SDA线路保持在低位。 如果在该点之后发送了另一个命令,则"reset"命令和下一个后续命令将成为一个长命令。 我知道这个问题是因为当我发送重置命令时,I2C的停止位没有被发送。 我在网上读到过,解决此问题的一种方法是多次切换时钟,但这对我的应用程序不起作用。
命令示例(使用Aardvark监控I2C线路)
[s]<21:w> 52 45 53 45 54 40 21 DF [P]
52 45 53 45 54部件以十六进制重置,21 DF是读取命令。
如果我直接从Aardvark发送相同的重置命令,它会正常工作,而发送时的重置命令通常偶尔也会工作10 % success)。
关于如何在 不关闭电源循环的情况下释放I2C SDA线,有什么建议?