您尚未登录。

楼主 # 2024-07-03 01:12:57

rick lou
会员
所在地: 中国北京海淀
注册时间: 2019-09-12
已发帖子: 219
积分: 207.5

MCP2515无法收到数据的原因

2023年初以前的款式,是不带CAN滤波器的,所以插上直接使用就可以做到标准帧与扩展帧任何帧ID都可以随意收发。

但是之后市面上销售的新款出厂前CAN过滤器默认为不接受扩展帧,这导致从硬件层扩展帧消息就发送不到单片机!所以会有程序没有任何问题,但就是收不到扩展帧的问题。

这时候不要慌,在CAN初始化时,给CAN滤波器进行初始化配置:两组屏蔽器分别设置,CAN.init_Mask(a,b,c)//a为组号,1组写1几组写几;b为是否接受扩展帧,1为接受0则为不接受;c为32位屏蔽器,格式参考0×ffff0000,F为帧id对应此位必须匹配,0为不关心。 CAN.int_Filt(a,b,c)//a为过滤器序号0-5;b为是否接受扩展帧1接受0不接受;c为mask段内为f的位必须相同的帧ID内容

比如上述例子中如果此处c设置0×182656f4则实际给单片机发送报文时,1826必须一样,后面的可以随意更改。 
111978893.png

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn