diff --git a/bsp/lpc408x/drivers/drv_lpccan.c b/bsp/lpc408x/drivers/drv_lpccan.c index b390ad8615d3499e7f16fb99a131655f621ec949..790d53be10259f4f9b969eb7d0940acedbc0d132 100644 --- a/bsp/lpc408x/drivers/drv_lpccan.c +++ b/bsp/lpc408x/drivers/drv_lpccan.c @@ -825,6 +825,7 @@ static struct rt_can_device lpccan2; void CAN_IRQHandler(void) { rt_uint32_t IntStatus; + rt_interrupt_enter(); #ifdef RT_USING_LPCCAN1 IntStatus = CAN_IntGetStatus(CAN_1); //check receive interrupt @@ -1036,6 +1037,7 @@ void CAN_IRQHandler(void) } } #endif /*RT_USING_LPCCAN2*/ + rt_interrupt_leave(); } int lpc_can_init(void)