Other Parts Discussed in Thread: LP-MSPM0L1306
器件型号: MSPM0L1306
主题中讨论的其他部件: ASH
我在 I2C 控制器上遇到了一点麻烦、因为我有一个外设始终是 ACK 的传输字节。 我无法改变这种行为,这不是我的芯片 — 具体来说,它是 SOIC RTC。 数据表很清楚、它不会否定确认最后一个字节、我可以理解为什么。 它不知道我将要发送多少个字节、直到我发送它们。 有*多*个 I2C 外设以这种方式工作。
TI 数据表中包含很多词语、但功能句子并不多。
对于 NACK 业务、TI 数据表相当明确。 它不会发出一个停止,除非有一个否定,但它永远不会来。
因此、唯一的问题是如何损坏硬件状态机、以便发出“仅停止“信号。 事情是,即使我请求一个没有停止的事务,它仍然在等待 NACK。
我可以看到、某个地方可能有人认为主实现应该与从器件对称、但它不是这样工作的、我已经在上面解释了原因。
让我不太自信的是、TI 数据表中的命名约定不是自行一致的。 文本中以不同的方式将 I2C 总线的驱动元件作为主器件和控制器、这使得使用的首字母缩略词非常令人困惑。
数据表确实说明了如何在环回模式下成功地使用 MSPM0 I2C 主器件/控制器与 I2C 片上相关的目标。 我不怀疑这可以正常工作、但问题在于 I2C 端口看起来非常有限、原因令人沮丧。
什么是我的缺失? 如何使其正常工作?
非常感谢、
Andy Ash。