主题中讨论的其他部件:HDC1000、、
大家好、
我将大量 CC3200 Wifi 传感器标签与定制固件搭配使用、其中一些有时会进入无法读取 TMP007红外温度传感器上任何寄存器的状态。 I2C 外设驱动程序库函数 I2CMasterErr ()返回的错误代码为 I2C_MASTER_ERR_ADDR_ACK。 这一点、再加上我可以从 HDC1000等其他 I2C 传感器读取数据、使我认为问题在于 TMP007上的 I2C 模块被以某种方式置于不良状态。 我已经尝试了 TMP007数据表中描述的 I2C 复位过程;一个 START 条件、随后将 SCL 线路保持在低电平30ms、然后是 STOP 条件、并且它没有解决这个问题。 我无法对我知道的 TMP007进行功率循环、因为许多传感器标签部署在现场、因此它们通常会进行无线重新编程。
从器件没有将 SDA 线保持在低电平、我知道如果主器件的传输中断且从器件正在等待其余的传输、这是一个问题。 此外、在大约70%遇到此锁定问题的器件中、重新编程器件可解决此问题。 但在其余部分,这种情况仍然存在。 我还尝试切换时钟线以使从器件复位、但这也不起作用、我目前正在寻找想法。 如果大家对 CC3200、TMP007或 I2C 问题有任何看法或建议、我将不胜感激。
另请注意、我正在使用 CC3200SDK_1.1.0、我知道它已经过时、我已经了解了一些可能影响 I2C 的已知问题、但在这方面没有取得任何进展。
谢谢、
Justin