查看: 889|回复: 4

[讨论] CAN模块的疑惑

[复制链接]

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
30
最后登录
2024-1-15
发表于 2022-10-21 15:08:38 | 显示全部楼层 |阅读模式
本帖最后由 弄丢的猪 于 2022-10-21 15:08 编辑

最近在调CAN模块,遇到一些让我难以理解甚至很奇葩的问题,请赐教。(抱歉我暂发不了图片)
1.FIFO接收时的ID筛选表
    看手册要仔细 仔细 仔细呀。在过滤格式A中:RXIDA是从bit1开始的,bit0是空着的。开始总从bit0填充RXID,浪费了不少时间


2.从FIFO中读CAN帧数据问题

    FIFO共6级深度队列,新数据是从队尾位置存入的(依次往队首移),读数据始终在队首。
    这样会导致设备上电后读取到的前5帧数据全是0,而FIFO中始终有5帧数据读取不到。


3.即便没开回环模式,发送的数据也会被送入接收邮箱,并触发中断

    这里用到官方demo:flexcan_interrupt_transfer,把原本的接收ID改为发送ID就能测试。需要两个开发板,或者一个额外的CAN设备。

    改这两个地方:
    FLEXCAN_SetRxMbGlobalMask(EXAMPLE_CAN, FLEXCAN_RX_MB_STD_MASK(txIdentifier, 0, 0));//rxIdentifier
    mbConfig.id     = FLEXCAN_ID_STD(txIdentifier);//rxIdentifier




回复

使用道具 举报

该用户从未签到

27

主题

111

帖子

0

中级会员

Rank: 3Rank: 3

积分
449
最后登录
2024-3-29
发表于 2022-10-21 17:26:57 | 显示全部楼层
2.每次中断回调就接收一帧,即8字节,我没管深度什么的;
3.初始化时,关掉自我接收就可以了,即flexcanConfig.disableSlefReception = true.
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

7

帖子

0

新手上路

Rank: 1

积分
30
最后登录
2024-1-15
 楼主| 发表于 2022-10-21 17:50:03 | 显示全部楼层
mrhwt 发表于 2022-10-21 17:26
2.每次中断回调就接收一帧,即8字节,我没管深度什么的;
3.初始化时,关掉自我接收就可以了,即flexcanCon ...

感谢,终于解决了一大问题,居然还有个disableSelfReception配置项被我忽略了
回复 支持 反对

使用道具 举报

  • TA的每日心情

    前天 14:02
  • 签到天数: 1481 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92876
    最后登录
    2024-4-30
    发表于 2022-10-21 21:06:36 | 显示全部楼层
    本帖最后由 stm1024 于 2022-10-21 21:08 编辑

    FIFO那个问题是已知的软件设计缺陷,是否可以配置FIFO深度呢?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    7

    帖子

    0

    新手上路

    Rank: 1

    积分
    30
    最后登录
    2024-1-15
     楼主| 发表于 2022-10-22 11:10:16 | 显示全部楼层
    stm1024 发表于 2022-10-21 21:06
    FIFO那个问题是已知的软件设计缺陷,是否可以配置FIFO深度呢?

    这个缺陷直接导致FIFO不可用啊,深度应该是固定没看到有配置的地方
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-2 17:11 , Processed in 0.118376 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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