diff --git a/Src/fc7xxx_driver_flexcan.c b/Src/fc7xxx_driver_flexcan.c index 500dcfd..c2f0f57 100644 --- a/Src/fc7xxx_driver_flexcan.c +++ b/Src/fc7xxx_driver_flexcan.c @@ -2022,6 +2022,7 @@ FLEXCAN_ErrorType FLEXCAN_Stop(uint8_t u8CanIndex) return tRetVal; } +uint32_t osThreadYield (void); /** * @brief Transmit data, if tx disable, must call FLEXCAN_TransmitProcess after transmiting @@ -2169,6 +2170,7 @@ FLEXCAN_ErrorType FLEXCAN_TransmitData(uint8_t u8CanIndex, const FLEXCAN_TxMsgTy while ((u32WordLen == 0U) && (u32TempAddr++ < pTxMsg->u16WaitTxTimeout)) { u32WordLen = FLEXCAN_HWA_GetFlag1NoFifoFlag(pCan, u8TxRealMbIndex); + osThreadYield(); } if (u32WordLen == 0U)