日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5)

發布時間:2025/3/15 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、CubeMX
    • 2.1、Clock Configuration
    • 2.2、FDCAN1
    • FDCAN2
  • 三、代碼
    • 3.1、添加BSP
    • fdcan.c
    • 3.3、main.c
  • 四、調試FDCAN
    • 4.1、測試發送CAN報文
    • 4.2、測試接收CAN報文
      • 4.2.1、FDCAN1接收
      • 4.2.2、FDCAN2接收
  • 五、細節補充
    • 5.1、FDCAN中斷回調函數

一、前言

終極方案的配置如下:

  • FDCAN1與FDCAN2同時工作
  • FDCAN的工作模式為普通CAN(可以跑CANopen協議)
  • 每路FDCAN有32個接收FIFO
  • 每路FDCAN有32個發送FIFO
  • 通訊波特率:1M
  • 接收中斷+水印中斷(防止FIFO溢出)
  • 濾波器設置:接收標準幀,接收所有范圍的ID
  • STM32工程:
    鏈接:https://pan.baidu.com/s/1eo-ob49Vt-MGZFVzN0gRcg
    提取碼:9u9a

    二、CubeMX

    2.1、Clock Configuration

    系統時鐘設置480M。

    通過分頻,將FDCAN的時鐘源設置成20M。

    2.2、FDCAN1



    FDCAN2



    三、代碼

    3.1、添加BSP

    之前寫好的代碼,封裝成BSP(在STM32工程里復制即可)。往工程添加如下文件:

  • bsp_fdcan.c(中斷回調函數,中斷配置等代碼都在這個文件里)
  • bsp_fdcan.h
  • bsp.c
  • bsp.h
  • fdcan.c

    首先,在CubeMX生成的函數MX_FDCAN1_Init( )設置水印。計算FDCAN2的messageRAMOffset是可選的,不一定要加這個代碼。

    3.3、main.c

    在main.c里運行了如下代碼:

  • 初始化FDCAN濾波器。
  • 開啟FDCAN控制器。
  • 初始化FDCAN中斷。


    因為這個工程運行了RTOS,開啟FDCAN中斷必須在消息隊列后面。所以如果沒有RTOS的話,直接在fdcan1.rx_Filter_Init( )后直接調用fdcan1.rx_Interrupt_Init()即可。
  • 四、調試FDCAN

    4.1、測試發送CAN報文

    thread_LED_App函數每500ms執行一次。

    從CAN分析儀觀察是否收到報文。

    從以上的測試看來,FDCAN1與FDCAN2都正常發送CAN報文了。

    4.2、測試接收CAN報文

    4.2.1、FDCAN1接收

    使用CAN分析儀的CAN0(連接FDCAN1)發送報文。在Keil軟件上將fdcan1添加到Wathc1窗口上,可以從變量fdcan1看到CAN報文的內容,跟CAN分析儀上的一樣。所以,FDCAN1成功接收CAN報文。

    4.2.2、FDCAN2接收

    使用CAN分析儀的CAN1(連接FDCAN2)發送報文,在Keil軟件上將fdcan2添加到Watch1窗口上,可以從變量fdcan2里看到CAN報文的內容,跟CAN分析儀上的一樣。所以,FDCAN2成功接收CAN報文。

    五、細節補充

    5.1、FDCAN中斷回調函數

    在接收中斷函數里,如果是裸機的話(沒有RTOS系統),直接將這些代碼刪除即可。以FDCAN1的接收中斷函數為例:

    總結

    以上是生活随笔為你收集整理的STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。