STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)
文章目錄
- 一、前言
- 二、CubeMX
- 2.1、RCC
- 2.2、Clock Configuration
- 2.3、CORTEX_M7
- 2.4、DEBUG
- 2.5、FDCAN1
- 2.6、倒回去配置一個(gè)FDCAN的時(shí)鐘
- 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
- 五、測(cè)試FDCAN
- 5.1、測(cè)試發(fā)送CAN報(bào)文
- 5.1、測(cè)試接收CAN報(bào)文
一、前言
之前做過(guò)一個(gè)RTX5版本的FDCAN同時(shí)工作的終極方案,對(duì)于想學(xué)習(xí)FDCAN的同學(xué)來(lái)說(shuō),RTX5算是多多余的元素。今天直接做一個(gè)STM32H743的裸機(jī)版本的雙路FDCAN同時(shí)工作的終極方案,沒(méi)有其他多余的東西。廢話不多說(shuō),開(kāi)始吧。
終極方案的配置如下:
FDCAN1與FDCAN2同時(shí)工作
FDCAN的工作模式為普通CAN(可以跑CANopen協(xié)議)
每路FDCAN有32個(gè)接收FIFO
每路FDCAN有32個(gè)發(fā)送FIFO
通訊波特率:1M
接收中斷+水印中斷(防止FIFO溢出)
濾波器設(shè)置:接收標(biāo)準(zhǔn)幀,接收所有范圍的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、倒回去配置一個(gè)FDCAN的時(shí)鐘
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燈,驗(yàn)證一個(gè)整個(gè)工程是否能正常運(yùn)行。燒寫(xiě)程序后,板子的LED燈正在閃爍,證明了該工程能正常運(yùn)行!!!
4.2、添加bsp
添加我編寫(xiě)的四個(gè)bsp代碼。(這些文件在百度云盤(pán)分享的工程里!!)
4.3、fdcan.c
首先,在CubeMX生成的函數(shù)MX_FDCAN1_Init( )設(shè)置水印。
4.4、main.c
在main.c里運(yùn)行了如下代碼:
編譯,下載代碼。
五、測(cè)試FDCAN
5.1、測(cè)試發(fā)送CAN報(bào)文
5.1、測(cè)試接收CAN報(bào)文
先測(cè)試FDCAN2的接收功能,從STM32內(nèi)存看到,的確接收到CAN報(bào)文。
接著測(cè)試FDCAN1,從STM32內(nèi)存看到,的確接收到CAN報(bào)文。
總結(jié)
以上是生活随笔為你收集整理的STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: awk 匹配_linux的awk命令详解
- 下一篇: 西单大悦城苹果店4s_“神秘列车”复活!