我想同时使用CAN和ADC中断,根据手册CAN中断位于第9组PIE,即INT9.5,电机控制例程的ADC中断位于10组,即INT10.1,这样的话CAN中断会打断ADC中断的执行,影响控制效果,我现在把ADC中断修改为INT1.1,发现还是有先CAN中断执行,请问一下可能是哪里的问题?
interrupt void WL_CAN_RX_ISR(void)
{
// HAL_acqEcanInt(halHandle);
WEILANCANRx();
HAL_acqEcanInt(halHandle);
}
//CAN接收函数
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);
}
static inline void Ecan_clearIntFlag(CAN_Handle canHandle)
{
CAN_Obj *can = (CAN_Obj *)canHandle;
// clear the bit
can->ECanaRegs.CANRMP.all = 0xFFFFFFFF;
return;
} // end of ADC_clearIntFlag() function