工具与软件:
您好!
我将使用 TMS320F280049、需要对 driverlib 的 disable_interrupt ()例程进行一些说明
此例程用于禁用中断控制器中的单个中断源。
为此、该例程会执行以下步骤:
1) 1)全局禁用中断
2) 2)将用于中断的 PIEIER 位清零
3)等待5个周期、以确保任何传播的中断都已到达
CPU IFR 寄存器
4) 4)清除中断的 PIE 组的 CPU IFR 位
5) 5)清除中断的 PIE 组的 PIEACK 位
6) 6)全局启用中断
我想知道这个过程、特别是步骤4和5、是否会导致同一组的其它中断的丢失。
例如、在我的工程中、我同时使用 SCIA_RX 和 SCIB_RX 中断、它们位于同一组(第9组)中。
有时我必须在短时间内仅禁用中断 SCIB_RX、而不会丢失中断 SCIA_RX、是否可以放心地使用例程 DISABLE_INTERRUPT ()?
此外、如果我禁用 SCIB_RX、我是否会面临丢失一个风险?
得出结论:
我需要在不丢失任何中断的情况下禁用中断 SCIB_RX (无论是 SCIA_RX 还是 SCIB_RX)。 disable_interrupt()例程是否适合此用途? 或者是否应使用其他程序?
提前感谢
Massimo Ceschi
