Thread 中讨论的其他器件:C2000WARE
工具与软件:
我目前使用两个 C2000 F280049C 微控制器进行 I2C 通信。 一个配置为主机(主器件)、另一个配置为从器件。 主机微控制器设置为发送数据、而从器件设置为接收。 不过、我会遇到从器件不从主机接收数据的问题。
有趣的是、在反转角色(主机作为接收器、从器件作为发送器)时、通信按预期工作。
根据技术参考手册(SPRUI33H)、I2CMDR 寄存器配置如下:
主机(主器件):0x6620 (二进制:0110 0110 0010 0000)
从器件:0x4020 (二进制:0100 0000 0010 0000)
然而、I2CMDR 寄存器中的第13位(SST)看起来在两个微控制器上翻转。 我尝试直接对寄存器进行写入、但 SST 字段没有改变。
此外:
在主机侧、状态寄存器显示 BB (总线忙)和 ARBL (仲裁丢失)位设置为1。
从器件侧似乎未接收任何数据。
您能否就以下方面提供指导:
解决 I2CMDR 寄存器中的 SST 位问题?
是否正在清除主机上的 BB 和 ARBL 位?
这些问题是否与通信故障直接相关、以及解决这些问题是否能够成功进行 I2C 数据传输?
非常感谢为解决这一问题提供任何帮助。




