查看: 1864|回复: 8

[求助] RT1064FlexCAN FIFO接收问题

[复制链接]

该用户从未签到

2

主题

12

帖子

0

注册会员

Rank: 2

积分
61
最后登录
2021-9-17
发表于 2021-9-3 16:30:18 | 显示全部楼层 |阅读模式
当配置MB接收到数据时产生接收中断,可以在中断里接收数据。现在我把它配置成了FIFO接收,但是不会产生接收中断,只能在主循环不断调用接收接口来接收数据吗。
回复

使用道具 举报

  • TA的每日心情
    慵懒
    2024-4-9 17:01
  • 签到天数: 1478 天

    [LV.10]以坛为家III

    203

    主题

    2万

    帖子

    64

    超级版主

    Rank: 8Rank: 8

    积分
    92619
    最后登录
    2024-4-24
    发表于 2021-9-3 17:54:51 | 显示全部楼层
    这个芯片的CAN没用过,不过你可以查一下看看Interrupt Register里面有没有FIFO中断?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    111

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    449
    最后登录
    2024-3-29
    发表于 2021-9-3 18:24:05 | 显示全部楼层
    因为源码里每次接收完都会关闭接收中断,你可以在接收回调里最后再使能下接收中断就好了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    0

    注册会员

    Rank: 2

    积分
    61
    最后登录
    2021-9-17
     楼主| 发表于 2021-9-4 09:19:02 | 显示全部楼层
    mrhwt 发表于 2021-9-3 18:24
    因为源码里每次接收完都会关闭接收中断,你可以在接收回调里最后再使能下接收中断就好了。 ...

    我通过IAR调试,在那个SDK设置的中断回调函数加了断点,发现并没有进入到那里。现在我是在主循环不断通过查询MbStatusFlag状态,然后再去读取FIFO中数据,是可以读到数据的。但是这样,假如我没来得及调用这个接收函数,就会有数据丢失了,因为FIFO设置的好像是6个邮箱个数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    0

    注册会员

    Rank: 2

    积分
    61
    最后登录
    2021-9-17
     楼主| 发表于 2021-9-4 15:36:21 | 显示全部楼层
    stm1024 发表于 2021-9-3 17:54
    这个芯片的CAN没用过,不过你可以查一下看看Interrupt Register里面有没有FIFO中断? ...

    没有配置FIFO的例子,感觉是CPU自己就接收了数据到FIFO里,都没有进入到CAN的中断回调函数。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    111

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    449
    最后登录
    2024-3-29
    发表于 2021-9-6 11:26:28 | 显示全部楼层
    ytim 发表于 2021-9-4 15:36
    没有配置FIFO的例子,感觉是CPU自己就接收了数据到FIFO里,都没有进入到CAN的中断回调函数。 ...

    有示例的,你看下 flexcan_looback_edma_transfer 中就配置了FIFO,可以参考,不用edma的话,去掉即可,同时接收函数使用 FLEXCAN_TransferReceiveFifoNonBlocking
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    0

    注册会员

    Rank: 2

    积分
    61
    最后登录
    2021-9-17
     楼主| 发表于 2021-9-7 09:29:32 | 显示全部楼层
    mrhwt 发表于 2021-9-6 11:26
    有示例的,你看下 flexcan_looback_edma_transfer 中就配置了FIFO,可以参考,不用edma的话,去掉即可, ...

    好的,感谢回复。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    22
    最后登录
    2024-1-4
    发表于 2023-12-27 11:01:24 | 显示全部楼层
    本帖最后由 eefocus_3939787 于 2023-12-27 11:07 编辑
    mrhwt 发表于 2021-9-6 11:26
    有示例的,你看下 flexcan_looback_edma_transfer 中就配置了FIFO,可以参考,不用edma的话,去掉即可, ...

    关于您在“RT1064FlexCAN FIFO接收问题”的帖子
    我现在用RT1024使用CAN多邮箱接收,软件中没有对应例程demo,有对应的例程发下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    27

    主题

    111

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    449
    最后登录
    2024-3-29
    发表于 2024-1-13 14:31:39 | 显示全部楼层
    eefocus_3939787 发表于 2023-12-27 11:01
    关于您在“RT1064FlexCAN FIFO接收问题”的帖子
    我现在用RT1024使用CAN多邮箱接收,软件中没有对应例程dem ...

    使用FIFO即可,不用多邮箱。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-4-25 17:16 , Processed in 0.133285 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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