Repair the Transmit mailbox (0,1,2) empty interrupt Flag not clear BUG

pull/3405/head
Sam Lin 2016-12-09 10:44:28 +08:00
parent 1b019c398b
commit b2f8de8294
1 changed files with 9 additions and 0 deletions

View File

@ -377,6 +377,15 @@ static void can_irq(CANName name, int id)
tmp1 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_0);
tmp2 = __HAL_CAN_TRANSMIT_STATUS(&CanHandle, CAN_TXMAILBOX_1);
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)
{
irq_handler(can_irq_ids[id], IRQ_TX);