STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)
生活随笔
收集整理的這篇文章主要介紹了
STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、前言
- 二、CubeMX
- 2.1、RCC
- 2.2、Clock Configuration
- 2.3、CORTEX_M7
- 2.4、DEBUG
- 2.5、FDCAN1
- 2.6、倒回去配置一個FDCAN的時鐘
- 2.7、FDCAN2
- 2.8、GPIO
- 2.9、生成代碼
- 三、Keil
- 3.1、Target
- 3.2、Output
- 3.3、C/C++
- 3.4、Debug
- 3.5、Flash Download
- 3.6、編譯代碼
- 四、代碼
- 4.1、main.c
- 4.2、添加bsp
- 4.3、fdcan.c
- 4.4、main.c
- 五、測試FDCAN
- 5.1、測試發送CAN報文
- 5.1、測試接收CAN報文
一、前言
之前做過一個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
2.2、Clock Configuration
2.3、CORTEX_M7
2.4、DEBUG
2.5、FDCAN1
2.6、倒回去配置一個FDCAN的時鐘
2.7、FDCAN2
2.8、GPIO
2.9、生成代碼
三、Keil
3.1、Target
3.2、Output
3.3、C/C++
3.4、Debug
3.5、Flash Download
3.6、編譯代碼
四、代碼
4.1、main.c
先用LED燈,驗證一個整個工程是否能正常運行。燒寫程序后,板子的LED燈正在閃爍,證明了該工程能正常運行!!!
4.2、添加bsp
添加我編寫的四個bsp代碼。(這些文件在百度云盤分享的工程里!!)
4.3、fdcan.c
首先,在CubeMX生成的函數MX_FDCAN1_Init( )設置水印。
4.4、main.c
在main.c里運行了如下代碼:
編譯,下載代碼。
五、測試FDCAN
5.1、測試發送CAN報文
5.1、測試接收CAN報文
先測試FDCAN2的接收功能,從STM32內存看到,的確接收到CAN報文。
接著測試FDCAN1,從STM32內存看到,的確接收到CAN報文。
總結
以上是生活随笔為你收集整理的STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: awk 匹配_linux的awk命令详解
- 下一篇: 西单大悦城苹果店4s_“神秘列车”复活!