This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LAUNCHXL-F2800137:第 3 条消息后 I2C 保持低电平

Guru**** 2885260 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1627911/launchxl-f2800137-i2c-held-low-after-3rd-message

器件型号: LAUNCHXL-F2800137

您好、  

我需要一些帮助。 我在 I2C 通信方面仍然相对较新。 我明白、如果总线已为器件开始通信做好准备、则 SCL 和 SDA 保持高电平。 但是、我的总线为高电平、但函数“I2C_isBusy (myI2C0_BASE); “则返回总线忙。 我仔细检查了寄存器、BB 位为 0x1。  

我使用 saleae 逻辑分析仪测量了线路、并且两条线路都为高电平。 因此、寄存器中的 BB 位应该为 0x0、对吧?  

是否有人知道为什么巴士可能被视为繁忙? 有人能帮忙吗?  
 
此致、  
Hans
 
PS: 这里的图片可能有助于理解我的问题。 我正在使用 FIFO 模式并使用计时器每 10ms 轮询一次 i2c 总线。  
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    RXFIFO 正在接收传输的字节、但从未被清除。 不知道接收数据的原因是同一设备正在传输 — 环回模式已禁用。 但是、我通过刷新 FIFO 来解决该问题。