WCH沁恒单片机
直播中

李俊

7年用户 1334经验值
私信 关注
[问答]

CH32V203C8T6 CAN通讯配置多个Filter时失效是为什么?如何解决?

我在测试CH32V203C8T6 CAN通讯设置了多个Filter,但是不起作用,Filter之外的ID仍然能通过,我测了一下单个Filter是好的,都能过滤,于是我把官方的例程下下来稍微改了一下,设置多个Filter测试也是失效的,当我改回单个Filter时又一切正常,能帮我看看这是啥问题吗?附件为测试代码

这个是单个Filter正常的

这是多个Filter,就不正常了,都能通过

回帖(7)

田晴

2022-7-18 10:31:43
您好,配置使用多个过滤器组时需要注意过滤器组的筛选器尺度要配置一致,比如都配置为16位或都配置为32位。
举报

陈芳

2022-7-18 10:31:50
没有这样玩的,按理每个筛选器都是相互独立,互不影响的,况且数据手册也是允许不同尺度的筛选器的

而其还有个问题是我实际项目中用的是同一尺度的筛选器,而且还都是掩码模式,还都是标准ID,实际项目中也出现了单个筛选器是正常的,多个筛选器就失效,测试程序是我在官方的样例程序改过来的,没有考虑这么多,但是你既然提出了这个可能性,我会在周一再做一下测试,感谢你的回复
举报

余婧

2022-7-18 10:31:55
我将测试工程的第二个过滤器改成和第一个一样,还是不行
举报

李富贵

2022-7-18 10:32:03
我把初始化过滤器的函数置位初始化模式指令写到外面,把初始化过滤器的切换模式注释掉


初始化过滤器函数


这样我在初始化模式中配置两个过滤器,也是单个过滤器可以,我配置第二个就会失效
Test.zip
举报

更多回帖

发帖
×
20
完善资料,
赚取积分