线程中讨论的其他部件: MSP432P401R, sysconfig, test, LPSTK-CC1352R, HDC2080
我一直在寻找 I2C 问题,我希望 cc1352p 从我们的一个传感器读取6个字节。
但读取过程似乎在第一个字节后停止驱动时钟线路。
下面是故障的捕获:
请注意,从这一点开始,数据线一直处于低位。
我猜测传感器在处理完前2个字节后一直在等待其余时钟(再等待5个字节)。
这是成功发生的事例:
我犹豫要提出下一个观察,因为这可能是对实际问题的一个错误,但当上面的阅读框紧跟在下面的块时,很可能会失败。
但我想强调,不遵循以下限制并不会使问题消失,而只是大大减少了问题。
上述捕获是对另一个 I2C 设备的请求,该设备当前不在 I2C 总线上。
两次尝试与 IT 进行沟通后,我们都希望能有机会。
我正在使用 SimpleLink_cc13x2_26x2_SDK_5_20_00_52
当我逐步了解驱动程序代码时,我将转至功能“I2CSupport_primeTransfer”,第607行:
我已确认事务对象,特别是“ReadCount”值设置为值6。
因此,第607行的 ELSE 案例似乎是此案例的正确代码路径。
另一条信息:
这是一个将现有产品从 MSP432P401R (您决定不再支持的处理器)移植到 CC1352P 的项目。
I2C 过程在 MSP432上运行正常,所以我想知道是否有需要考虑的不同之处。
此外,我已经浏览了勘误表,并注意到 I2CMasterControl 函数中有一个“CPUDelay (2)”,看起来就像勘误表中所提及的“变通办法”:
这对我来说听起来不是同一个问题,但我认为如果这有助于对话,我会提及这一问题。
谢谢,我期待能提供的任何帮助...