[STM32H7]

CubeMX-双路FDCAN同时工作的终极方案(裸机)

[复制链接]
804|19
手机看帖
扫描二维码
随时随地手机跟帖
晓伍|  楼主 | 2021-9-4 16:22 | 显示全部楼层 |阅读模式
一、前言
之前做过一个RTX5版本的FDCAN同时工作的终极方案,对于想学习FDCAN的同学来说,RTX5算是多多余的元素。今天直接做一个STM32H743的裸机版本的双路FDCAN同时工作的终极方案,没有其他多余的东西。废话不多说,开始吧。

终极方案的配置如下:
FDCAN1与FDCAN2同时工作
FDCAN的工作模式为普通CAN(可以跑CANopen协议)
每路FDCAN有32个接收FIFO
每路FDCAN有32个发送FIFO
通讯波特率:1M
接收中断+水印中断(防止FIFO溢出)
滤波器设置:接收标准帧,接收所有范围的ID

STM32工程:
链接:https://pan.baidu.com/s/1z41xJntAUOL84HtGhEFRzw
提取码:f6az

二、CubeMX
2.1、RCC

7832061332ca76d93f.png

使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:22 | 显示全部楼层
2.2、Clock Configuration

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:23 | 显示全部楼层
2.3、CORTEX_M7

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:24 | 显示全部楼层
2.4、DEBUG的配置

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:25 | 显示全部楼层
2.5、FDCAN1

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:26 | 显示全部楼层
2.6、倒回去配置一个FDCAN的时钟

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:27 | 显示全部楼层
2.7、FDCAN2

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:28 | 显示全部楼层
2.8、GPIO的配置

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:29 | 显示全部楼层
2.9、生成代码

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:30 | 显示全部楼层
三、Keil
3.1、Target

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:31 | 显示全部楼层
3.2、Output

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg

3.3、C/C++

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:32 | 显示全部楼层
3.4、Debug

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg

3.5、Flash Download

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:33 | 显示全部楼层
3.6、编译代码

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:34 | 显示全部楼层
四、代码
4.1、main.c

先用LED灯,验证一个整个工程是否能正常运行。烧写程序后,板子的LED灯正在闪烁,证明了该工程能正常运行!!!
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:35 | 显示全部楼层
4.2、添加bsp

添加我编写的四个bsp代码。(这些文件在百度云盘分享的工程里!!)

  • bsp_fdcan.c(中断回调函数,中断配置等代码都在这个文件里)
  • bsp_fdcan.h
  • bsp.c
  • bsp.h
    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg

使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:36 | 显示全部楼层
4.3、fdcan.c

首先,在CubeMX生成的函数MX_FDCAN1_Init( )设置水印。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:37 | 显示全部楼层
4.4、main.c

在main.c里运行了如下代码:

  • 初始化FDCAN滤波器。
  • 开启FDCAN控制器。
  • 初始化FDCAN中断。
    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
编译,下载代码。

使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:38 | 显示全部楼层
五、测试FDCAN
5.1、测试发送CAN报文

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
晓伍|  楼主 | 2021-9-4 16:38 | 显示全部楼层
5.2、测试接收CAN报文

先测试FDCAN2的接收功能,从STM32内存看到,的确接收到CAN报文。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
接着测试FDCAN1,从STM32内存看到,的确接收到CAN报文。
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg
watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dhbGxhY2U4OQ==,size_16,color_FFFFFF,t_70.jpg


使用特权

评论回复
麻花油条| | 2021-9-4 19:40 | 显示全部楼层
楼主优秀,棒棒哒

使用特权

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

本版积分规则

60

主题

3893

帖子

1

粉丝