mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2025-02-28 18:25:28 +08:00
[BSP] [STM32] drv_can.c CANx_SCE_IRQHandler() 的 RT_CAN_BUS_ACK_ERR 处理3个邮箱的 TXOK标志
This commit is contained in:
parent
1e94742a0e
commit
c4eed718e8
@ -688,9 +688,9 @@ void CAN1_SCE_IRQHandler(void)
|
|||||||
drv_can1.device.status.ackerrcnt++;
|
drv_can1.device.status.ackerrcnt++;
|
||||||
if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
||||||
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
|
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
|
||||||
else if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
else if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK1))
|
||||||
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
|
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
|
||||||
else if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
else if (!READ_BIT(drv_can1.CanHandle.Instance->TSR, CAN_FLAG_TXOK2))
|
||||||
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
|
rt_hw_can_isr(&drv_can1.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
|
||||||
break;
|
break;
|
||||||
case RT_CAN_BUS_IMPLICIT_BIT_ERR:
|
case RT_CAN_BUS_IMPLICIT_BIT_ERR:
|
||||||
@ -808,9 +808,9 @@ void CAN2_SCE_IRQHandler(void)
|
|||||||
drv_can2.device.status.ackerrcnt++;
|
drv_can2.device.status.ackerrcnt++;
|
||||||
if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
||||||
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
|
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 0 << 8);
|
||||||
else if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
else if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK1))
|
||||||
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
|
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 1 << 8);
|
||||||
else if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK0))
|
else if (!READ_BIT(drv_can2.CanHandle.Instance->TSR, CAN_FLAG_TXOK2))
|
||||||
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
|
rt_hw_can_isr(&drv_can2.device, RT_CAN_EVENT_TX_FAIL | 2 << 8);
|
||||||
break;
|
break;
|
||||||
case RT_CAN_BUS_IMPLICIT_BIT_ERR:
|
case RT_CAN_BUS_IMPLICIT_BIT_ERR:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user