mirror of https://github.com/ARMmbed/mbed-os.git
Repair the Transmit mailbox (0,1,2) empty interrupt Flag not clear BUG
parent
1b019c398b
commit
b2f8de8294
|
|
@ -377,6 +377,15 @@ static void can_irq(CANName name, int id)
|
||||||
tmp1 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_0);
|
tmp1 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_0);
|
||||||
tmp2 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_1);
|
tmp2 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_1);
|
||||||
tmp3 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_2);
|
tmp3 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_2);
|
||||||
|
if (tmp1){
|
||||||
|
CanHandle.Instance->TSR |= CAN_TSR_RQCP0;
|
||||||
|
}
|
||||||
|
if (tmp2){
|
||||||
|
CanHandle.Instance->TSR |= CAN_TSR_RQCP1;
|
||||||
|
}
|
||||||
|
if (tmp3){
|
||||||
|
CanHandle.Instance->TSR |= CAN_TSR_RQCP2;
|
||||||
|
}
|
||||||
if(tmp1 || tmp2 || tmp3)
|
if(tmp1 || tmp2 || tmp3)
|
||||||
{
|
{
|
||||||
irq_handler(can_irq_ids[id], IRQ_TX);
|
irq_handler(can_irq_ids[id], IRQ_TX);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue