大家好、TI 论坛、
我正在研究一个需要将 MSP430F5438A 用作 I2C 目标的应用。 因此、勘误表 USCI39适用于我、我需要针对此问题实施变通办法。 建议的权变措施是、"在 GIE 被置位前、禁用 UCSTTIE、UCSTPIE 和 UCNACKIE。 在 GIE 被置位后、本地中断使能标志可被再次置位"。 如果我执行此变通办法、禁用或重新启用 UCSTTIE、UCSTPIE 和 UCNACKIE 的行为是否可能会清除任何未处理的中断或在禁用时防止发生中断标志? 或者、中断标志是否会被保留和/或在 IE 被禁用时仍然有效、并且一旦 IE 被重新启用、一个中断实际上可以被生成和处理?
其次、根据 此论坛帖子、重新启用 IE 寄存器后似乎需要额外的 NOP、这可能取决于 MCU 的运行速度。 在我的应用中、我计划以25MHz 运行、因此如果确实如此、这将是一个好兆。 是否有任何新信息可能表明根据 MCU 速度需要额外多少个 NOP?
最后、同样根据链接的论坛帖子、RETI 指令似乎可以触发此行为。 既然是这样、有人知道一种强制编译器用一系列指令替换 RETI 指令的方法吗?这些指令将禁用 IE 寄存器、启用 GIE、重新启用 IE 寄存器、然后从中断返回?
提前感谢您的任何帮助!



