主题中讨论的其他器件:CC2640R2F、 MSP-TS430RHL20、 MSP430WARE
大家好、
与 CC2640R2F Launchpad 通信时、在 MSP-TS430RHL20上使用 MSP430FR2512的 I2C 总线时遇到不一致的错误。 我们使用示波器探测、可以确认 I2C 事务的所有部分都正确进行。
我们在 I2C 停止 ISR "__BIC_SR_REGISTER_ON_EXIT (LPM0_BITS);"内添加了一条用于退出 LPM (0或4)的线路。
我们观察到、处理器将返回到主应用程序、其中主程序在等待 I2C 事务"_bis_SR_register (LPM0 + GIE)"时停止、并且 SR 寄存器中的 CPUOFF 位将保持置位。 只清除其他所有 I2C 停止事件。
此外、当 CPU 确实在主循环内恢复运行时、UCG0IFG 寄存器的 I2C UCSTPIFG 位会自动清零。
I2C 过程根据 MSP430WARE 驱动程序库中的多个 Rx 和 Tx 示例进行配置和执行。
是否有更合适的方法来确保在 I2C 停止事件中清除 CPUOFF 位?
此致、
车架