主题中讨论的其他器件:C2000WARE、
您好!
我们已对 MCU I2C 模块进行设置、该模块配置为 主模式、380kbps、Rm=0、并连接到一些传感器。
我们仍在努力 了解 ARDY 和停止中断。 我们 计划使用它们 、以了解 通信何时 完成。 这是正确的方法吗? 这两种中断意味着相同的事情? 我想我缺少一些东西。
我们知道 、当我们设置 I2CMDR 位 STP= 1时、I2CSTR 的 ARDY 位不受影响(如下所示)。 我想 不 会产生 ARDY 中断、对吧? 请、当 我们需要知道通信何时 完成时、有人能就哪种中断更好地使用 SCD 或 ARDY 提供一些建议吗? 我们有一个闭环控制、它将等待信号(来自 I2C)可用于更新输出。 我们使用 FIFO 中断来处理数据、因为我们的代码对时间非常敏感、使用延迟轮询数据不是一个选项。
I2CMDR 位 ARDY: 寄存器已准备好访问。 在非重复模式下(I2CMDR 中为 RM = 0):如果 I2CMDR 中的 STP = 0、 则当内部数据计数器减至0时 ARDY 位被置位。 如果 STP=1、ARDY 不受影响(相反、当 计数器达到0时、I2C 模块生成一个停止条件)。 在重复模式中(RM = 1):在 I2CDXR 传输的每个字节的末尾设置 ARDY。
谢谢、
Andrias Matheus