Thread 中讨论的其他器件:SYSBIOS
工具与软件:
我当前使用 TIRTOS。 我在系统中有多个 HWI、并正在考虑添加一个零延迟 ISR。 我正在使用 Hwi_Params、其中 maskSetting = Hwi_bit261_mask、并且 在使用 Hwi_Masking 调度程序时、为 Hwi_Params disableMASK/restoreMask 提供掩码、以便根据优先级嵌套中断。
我可以对零延迟中断执行类似的操作、但手动更改中断函数内关联的 IER 吗? 请参阅以下代码:
中断 void Zero_Latency ( void )
{
//设置中断优先级:
Volatile UINT16 TempPIEIER = PieCtrlRegs.PIEIER1.all;
IER |= M_INT1;
IER &= MINT1;//设置"全局"优先级
PieCtrlRegs.PIEACK.all = 0xFFFF;// Enable PIE interrupts
ASM " CLRC INTM"
//[在此插入 ISR 代码]
//恢复寄存器已保存:
ASM " SETC INTM"
PieCtrlRegs.PIEIER1.all = TempPIEIER;
}
我的目标是能够使用 HWI 调度程序下的 PIE 和零延迟中断来添加零延迟、同时保持硬件组优先级嵌套不变。
HWI 调度程序 HWI 能够根据优先级中断零延迟中断、反之亦然?
谢谢