找回密码
 立即注册
查看: 255|回复: 1

STC32 CAN总线发送和错误处理

[复制链接]

该用户从未签到

8

主题

12

回帖

86

积分

注册会员

积分
86
发表于 2023-12-14 13:37:16 | 显示全部楼层 |阅读模式



请教一下,CAN发送函数有个发送完成标志位需要在中断中清除,或者等待时间过长(i-- 到0)自动发送下一帧。
我如果不一直等待的话,发送数据会被冲刷,就改成了一直等待。
但如果CAN总线错误,就会导致一直在判断是否发送这里,我就开启CAN总线错误中断,如果CAN总线错误并且正在发送,就把发送标志位清除,相当于直接丢掉发送的内容,这样就不会卡住程序了。
可是还有个问题,假设CAN总线一直错误,就会一直进中断,打扰我程序正常运行,请教一下大家有什么好的方法和建议?
截图202312141330454537.jpg
回复 送花

使用道具 举报

  • TA的每日心情
    奋斗
    14 小时前
  • 签到天数: 141 天

    [LV.7]常住居民III

    27

    主题

    1338

    回帖

    4169

    积分

    论坛元老

    积分
    4169
    发表于 2023-12-14 19:27:34 | 显示全部楼层
    错误计数超255就会产生BUS-OFF,停止收发。
    可根据自身需求设置间隔多长时间进行恢复。
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-15 23:29 , Processed in 0.054036 second(s), 35 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表