打印
[开发工具]

CubeMX-解决FDCAN控制器无法接收远程帧

[复制链接]
695|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
晓伍|  楼主 | 2021-9-4 15:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一. 前言
第一次接触STM32H7的FDCAN控制器时,觉得要使用它并不容易,很多参数需要配置。接着,按照硬石科技STM32H743教程的FDCAN章节,一步一步对FDCAN控制器进行配置。最后,终于能正常收发CAN报文。但是,事情总是不会那么简单地结束。 刚配置的FDCAN控制器居然无法接收远程帧。

二. STM32H743编程参考手册
碰到工程问题,应该第一时间查看《STM32H743编程参考手册》。在手册的56.3.2章节上找到一个流程图,这个流程图表示滤波器可以拒绝远程帧。按照这个思路查看一下配置FDCAN的代码,看看到底哪里配置了拒绝接收远程帧。



使用特权

评论回复
沙发
晓伍|  楼主 | 2021-9-4 15:57 | 只看该作者
三. HAL_FDCAN_ConfigGlobalFilter( )
HAL_FDCAN_ConfigGlobalFilter()是配置FDCAN的滤波器关键的函数之一,由它决定FDCAN控制器是否决绝接收远程帧。
函数FDCAN2_RX_Filter0_Init()的目的是初始化FDCAN的滤波器,最后一步调用了HAL_FDCAN_ConfigGlobalFilter( )。

如上图所示,如果需要接收远程帧的话,HAL_FDCAN_ConfigGlobalFilter()的第三个与第四个入口参数需要用宏DISABLE。


使用特权

评论回复
板凳
xyzjacky| | 2022-12-20 14:08 | 只看该作者
请问一下楼主,CUBEMX的FD-CAN的配置选项里有一个Transmit pause,字面翻译是传输暂停,它的实际作用是什么呢?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

3893

帖子

1

粉丝