Skip to content

Commit b2f8de8

Browse files
committed
Repair the Transmit mailbox (0,1,2) empty interrupt Flag not clear BUG
1 parent 1b019c3 commit b2f8de8

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

targets/TARGET_STM/TARGET_STM32F1/can_api.c

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -377,6 +377,15 @@ static void can_irq(CANName name, int id)
377377
tmp1 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_0);
378378
tmp2 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_1);
379379
tmp3 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_2);
380+
if (tmp1){
381+
CanHandle.Instance->TSR |= CAN_TSR_RQCP0;
382+
}
383+
if (tmp2){
384+
CanHandle.Instance->TSR |= CAN_TSR_RQCP1;
385+
}
386+
if (tmp3){
387+
CanHandle.Instance->TSR |= CAN_TSR_RQCP2;
388+
}
380389
if(tmp1 || tmp2 || tmp3)
381390
{
382391
irq_handler(can_irq_ids[id], IRQ_TX);

0 commit comments

Comments
 (0)