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

STM32F373 CAN通讯问题CAN_FLAG_LEC

[复制链接]
xassassin 提问时间:2020-4-14 12:47 /
运行一段时间就回有CAN_FLAG_LEC标记,然后CAN总线就回不稳定,回出现丢帧,但是不会挂死
那位大神能知道给解释一下,为什么会出现CAN_FLAG_LEC,非常感谢!
收藏 评论2 发布时间:2020-4-14 12:47

举报

2个回答
aiherong 回答时间:2020-4-16 00:32:29
楼上讲得很好,我补两句: 120欧电阻是并接在总线上,且是高速模式, 距离短; 而若串接(2.2K)则是低速模式,距离好像最大到10千米,电阻很重要!不能少而且尽量调试好,显隐性与CSMA/CD协议是否同理,脑子一时转不过来,但高速数据传输必然产生传导反射,靠电阻吸收以减少误码,另外,最好用双绞线(原因与共模抑制相关)

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

stm1024 回答时间:2020-4-15 10:01:04
CAN_FLAG_LEC:Last Error Code,意思就是上次错误号中断,你把错误号读出来看看是什么意思。
根据你的描述,出现丢帧但没有挂掉,总线应该是没有出现短路或者断路的问题,但是又有丢帧,建议从几个方面检查一下。
1. 终端电阻。众所周知,总线在两端各有一个120欧姆的终端电阻,你断电的情况下,测量一下电阻值,根据我以前在汽车上测试的经验,在电阻低于40欧或者超过70欧情况下(个人测试,不具有普遍意义,供参考),如果总线波特率越高,丢帧率也越高。
2.总线负载。CAN总线是一种竞争型的总线,会有一个仲裁机制,通过载波侦听的方式,一边发送一边接收,如果总线上的值和自己发送的值相同,则认为发送成功,如果不同,则认为发送失败,你看看总线上是不是有其他设备也在发送报文,如果是,可以先脱开试试。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版