你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 CAN设备掉线,程序发送卡死的问题解决办法?

[复制链接]
liuxianzhen185 提问时间:2025-1-19 09:33 / 已解决
收藏 评论5 发布时间:2025-1-19 09:33

举报

5个回答
猪小屁 最优答案 回答时间:15 小时前

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; } }

jzx123 回答时间:昨天 13:50
AutoBusOff和AutoRetransmission有启用吗
废鱼 回答时间:昨天 17:27

在判断发送标志位的时候,建议使用超时处理,不要写死循环。

liuxianzhen185 回答时间:10 小时前

废鱼 发表于 2025-1-19 17:27
在判断发送标志位的时候,建议使用超时处理,不要写死循环。

谢谢

liuxianzhen185 回答时间:10 小时前

jzx123 发表于 2025-1-19 13:50
AutoBusOff和AutoRetransmission有启用吗

谢谢 打开了

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版