查看: 2173|回复: 5

[求助] CAN过滤器

[复制链接]

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
30
最后登录
2024-1-15
发表于 2024-1-4 18:01:45 | 显示全部楼层 |阅读模式
问题:设置过滤器时,导致CAN丢帧。因为在设置CAN过滤掩码前,需要进入冻结模式(Freeze Mode),这个时候CAN控制器不会接收总线数据。

有没有类似STM32的方法,可以规避这个问题。
STM32中有 ‘筛选器激活寄存器 (CAN_FA1R)’ ,修改筛选器(过滤器)时只需将对应位清零就可以,不影响数据接收。
回复

使用道具 举报

  • TA的每日心情
    慵懒
    昨天 22:08
  • 签到天数: 1878 天

    连续签到: 3 天

    [LV.Master]伴坛终老

    203

    主题

    3万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    112734
    最后登录
    2025-9-7
    发表于 2024-1-5 08:51:48 | 显示全部楼层
    报文过滤一般是初始化的时候配置好,运行时不改动的吧?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    30
    最后登录
    2024-1-15
     楼主| 发表于 2024-1-5 11:03:45 | 显示全部楼层
    stm1024 发表于 2024-1-5 08:51
    报文过滤一般是初始化的时候配置好,运行时不改动的吧?

    感谢回复。我们在跑多逻辑链路的时候会有这种需求,多个线程使用同一个CAN物理通道,配置过滤的时候另一个线程在收数据
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    111

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    472
    最后登录
    2024-7-20
    发表于 2024-1-13 14:32:21 | 显示全部楼层
    弄丢的猪 发表于 2024-1-5 11:03
    感谢回复。我们在跑多逻辑链路的时候会有这种需求,多个线程使用同一个CAN物理通道,配置过滤的时候另一 ...

    还有这个业务逻辑吗?一般配置过滤时不需要接收数据了啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    30
    最后登录
    2024-1-15
     楼主| 发表于 2024-1-15 11:21:30 | 显示全部楼层
    mrhwt 发表于 2024-1-13 14:32
    还有这个业务逻辑吗?一般配置过滤时不需要接收数据了啊

    确实有,我们是做汽车后市场的(汽车诊断设备),这种情况很常见。同时和多个ECU通讯情况,如果某个线程需要更换ECU,就会涉及到修改过滤器,这个时候其他线程通讯还在收发数据。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    6

    帖子

    0

    注册会员

    Rank: 2

    积分
    93
    最后登录
    2024-9-5
    发表于 2024-6-20 10:36:32 | 显示全部楼层
    FLEXCAN中要修改掩码器是必须要进入冻结模式的
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-9-7 17:46 , Processed in 0.084416 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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