请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28062F 主题中讨论的其他器件:C2000WARE
我在电机控制工程中同时使用了 CAN 接收中断(INT9.5)和 ADC 中断(INT1.1)。 如果在 CAN 中断执行期间发生、我现在想对 ADC 中断执行进行优先级排序、但是没能做到。
interrupt void WL_CAN_RX_ISR(void)
{
volatile uint16_t TempPIEIER = halHandle->pieHandle->PIEIER_PIEIFR[8].IER;
IER |= 0x0001;
IER &= 0x0001;
halHandle->pieHandle->PIEIER_PIEIFR[0].IER &= 0x0001;
halHandle->pieHandle->PIEACK = 0xFFFF;
EINT;
WEILANCANRx();
HAL_acqEcanInt(halHandle);
DINT;
halHandle->pieHandle->PIEIER_PIEIFR[8].IER = TempPIEIER;
}
static inline void HAL_acqEcanInt(HAL_Handle handle)
{
HAL_Obj *obj = (HAL_Obj *)handle;
Ecan_clearIntFlag(obj->canHandle);
PIE_clearInt(obj->pieHandle,PIE_GroupNumber_9);
}