使用CAN_TransmitStatus 返回的值是CANTXPENDING。

我现在调试Can,使用CAN_TransmitStatus(CANx, TransmitMailbox) != CANTXOK)这个函数,返回的值是CANTXPENDING,请问有没有大神遇到过类似的问题;

uint8_t DrvCAN::transmit(CAN_TypeDef* CANx, CanTxMsg* TxMessage)
{
uint8_t TransmitMailbox;
int i = 0;
TransmitMailbox=CAN_Transmit(CANx,TxMessage);

while((ret = CAN_TransmitStatus(CANx, TransmitMailbox) != CANTXOK) && (i != 0x3FF))

{
i++;
}

if(i == 0x3FF && ret != CANTXOK) 
{
    return 1;

}

return 0;

}