你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
uint32_t tickstart = HAL_GetTick();
while(( phcan->Instance->TSR & CAN_TSR_TME0) == 0U) { if ((HAL_GetTick() - tickstart) > MAX_TX_TIMEOUT) { // 超时,返回错误 return HAL_ERROR; } } HAL_CAN_AddTxMessage( phcan, pTxMsg, &Tx_Data[i * 8], &ulTrans_MailBox); while(( phcan->Instance->TSR & CAN_TSR_RQCP0) == 0U) { if ((HAL_GetTick() - tickstart) > MAX_TX_TIMEOUT) { // 超时,返回错误 return HAL_ERROR; } }
在判断发送标志位的时候,建议使用超时处理,不要写死循环。
废鱼 发表于 2025-1-19 17:27 在判断发送标志位的时候,建议使用超时处理,不要写死循环。
谢谢
jzx123 发表于 2025-1-19 13:50 AutoBusOff和AutoRetransmission有启用吗
谢谢 打开了
STM32的低功耗模式
基于STM32的锂动力电池检测装置的设计
STM32的上电启动过程
STM32G474 的DAC4无输出
STM32中如何实现数据加密
STM32的I2S外设
STM32 双ADC同步注入转换模式,模块ADC2没有数据。
STM32G431 FDCAN当普通can使用,拔掉连接的can设备,为什么一直没能触发FIFO满标志?
加快STM32G473上电时间
STM32G431 flash和can为什么没有LL库?
uint32_t tickstart = HAL_GetTick();
while(( phcan->Instance->TSR & CAN_TSR_TME0) == 0U) { if ((HAL_GetTick() - tickstart) > MAX_TX_TIMEOUT) { // 超时,返回错误 return HAL_ERROR; } } HAL_CAN_AddTxMessage( phcan, pTxMsg, &Tx_Data[i * 8], &ulTrans_MailBox); while(( phcan->Instance->TSR & CAN_TSR_RQCP0) == 0U) { if ((HAL_GetTick() - tickstart) > MAX_TX_TIMEOUT) { // 超时,返回错误 return HAL_ERROR; } }
在判断发送标志位的时候,建议使用超时处理,不要写死循环。
谢谢
谢谢 打开了