日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO

發布時間:2025/3/15 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一.TxFIFO設為1所帶來的問題
    • 1.1 代碼
    • 1.2 CAN分析儀
  • 二. 解決問題的方法
    • 2.1 STM32CubeMX
    • 2.2 CAN分析儀

一.TxFIFO設為1所帶來的問題

在STM32F103,STM32F407上面的CAN控制器,到了STM32H743上升級成FDCAN控制器。瀏覽了正點原子,安富萊,野火的STM32H7教程,都沒有介紹FDCAN如何使用。關于FDCAN相關的教程,廣州硬石電子科技做得比較好。但是,硬石科技的FDCAN例程在實際項目上直接使用的話,會有一些問題等著你發現。

硬石科技將FDCAN控制器的TxFIFO設置為1,相當于取消FIFO的功能。

以下圖片摘自硬石科技的H743教程:

1.1 代碼


LED5_Handler()會被FreeRTOS系統每隔1S調用一次。實際上,代碼的目的是發送5條CAN報文,CAN_ID分別是0x181,0x182,0x183,0x184,0x185。

1.2 CAN分析儀

通過CAN分析儀看到的結果是: "每隔1S時間,STM32H743只是發送了CAN_ID為0x181的CAN報文,并不是5條CAN報文。"

導致這個結果的原因是TxFIFO被設為1。

二. 解決問題的方法

2.1 STM32CubeMX


根據HAL庫的源碼可以看到,Tx Fifo Queue Elmts Nbr的范圍是: 0 ~ 32.

2.2 CAN分析儀

代碼不用修改,直接觀察CAN分析儀的情況。

從上圖可以看到,CAN分析儀每隔1S時間,收到CAN_ID為0x181,0x182,0x183,0x184,0x185的5條CAN報文。
問題解決了,代碼的目的達到了。

總結

以上是生活随笔為你收集整理的STM32H743+CubeMX-学习FDCAN控制器上的TxFIFO的全部內容,希望文章能夠幫你解決所遇到的問題。

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