Other Parts Discussed in Thread: C2000WARE
大家好
我想知道 SWPriorititizeedDefaultIsr.c 中提供的示例代码是否正确。 (取自 C2000ware、V1.00.04.00)。
例如、我采用 Timer1_ISR:
#if (INT13PL!= 0)
__interrupt void Timer1_ISR (void) // INT13或 CPU 定时器1
{
IER |= MINT13; //设置“全局”优先级
EINT;
//
//在此处插入 ISR 代码...
//
//接下来的两行只用于调试,以便在此处停止处理器
//插入 ISR 代码后删除
_asm (" ESTOP0");
for (;;);
}
#endif
通过 IER |=MINT13来设置全局优先级不会清除可能的低优先级中断的任何先前设置位。
对于较低的 INT、我们看到(示例 ADCA1_ISR)。
IER |= M_INT1;
IER &= MINT1;
在 INT13、INT14 (INT15、Int16)中、示例代码不是相同的原因(使用 OR 和 AND)。
'device_support' 2833x、2837xD、2837xS、2807x 的示例相同。
感谢您的澄清!
此致
Roger
