色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在STM32H743芯片上實現CAN通信的步驟

廣成工控 ? 來源:CSDN博客 ? 作者:CSDN博客 ? 2020-09-14 14:33 ? 次閱讀

1. 摘要

本篇筆記主要介紹,在STM32H743芯片上實現CAN通信,封裝為BSP驅動,為之后實現CAN的高層通信打下基礎。

2. 準備工作

1, IAR 8.32.1

2, STM32Cube_FW_H7_V1.6.0

3. 簡介

STM32H743的控制器局域網絡 (CAN) 子系統由兩個 CAN 模塊、一個共享消息 RAM 存儲器和一個時鐘校準單元組成。關于這四個組成部分的基址,請參見存儲器映射。兩個 CAN 模塊(FDCAN1 和 FDCAN2)均符合 ISO 11898-1: 2015(CAN 協議規范第 2.0 版A、 B 部分)和 CAN FD 協議規范第 1.0 版。此外,第一個 CAN 模塊 FDCAN1 支持 ISO 11898-4 中規定的時間觸發 CAN (TTCAN),包括事件同步時間觸發通信、全局系統時間和時鐘漂移補償。FDCAN1 還額外包含專供時間觸發功能使用的寄存器。CAN FD 選項可與事件觸發和時間觸發 CAN 通信一起使用。10 KB 的消息 RAM 存儲器可實現過濾器、接收 FIFO、接收緩沖區、發送事件 FIFO、發送緩沖器( TTCAN 觸發)功能。該消息 RAM 在 FDCAN1 和 FDCAN2 模塊之間共用。通用時鐘校準單元是可選的。通過評估 FDCAN1 接收到的 CAN 消息,該單元可基于 HSI 內部 RC 振蕩器和 PLL 為 FDCAN1 和 FDCAN2 生成經過校準的時鐘。

CAN 框圖

CAN的底層大部分ST已經在HAL庫里面封裝好,如果你細看HAL源碼,搞懂這張圖,H743的CAN 你基本上就沒有問題了,在結合HAL庫的學習。

4. 驅動實現

良好的驅動封裝,可以方便應用開發,并且可以容易移植到其他項目,代碼重用率高,所以數據和接口是你不得不考慮的問題,怎么樣方便的實現,還要通用易用。

4.1 數據封裝

首先根據stm32h7xx_hal_fdcan.h文件我們來封裝兩個個結構體,方便后面軟件實現開發,可以新建bsp_can.c和bsp_can.h, 在頭文件中封裝結構體定義。

在.c文件中定義封裝一些變量,這些變量數組也是通用,在多款產品中都采用,大家也可以參照。

可以實現多個CAN口驅動。如果只有一個CAN口,將CAN_PORTS宏定義為1,幾個就定義為幾。

這個封裝大家可以記著,我在多款器件上都是這么封裝的,之前在NXP的KE06, KEA, KV46, K64等系列,在ST的F103, F446, H743等等CAN通信都采用這種封裝BSP驅動。

4.2 初始化

參考官方的例程,根據自己的硬件去實現,做相應修改。例程中只使能了接收中斷,我們一般發送也要采用中斷,所以也要開發送中斷,根據實際可能還需要添加濾波,配置緩沖等。

配置時鐘管腳,中斷。

4.3 中斷回調函數

最主要的就是接收和發送的回調函數的實現,首先來看接收中斷回調函數。

發送完成回調函數

4.4 測試代碼

freeRTOS下建立一個CAN通信的簡單測試任務,實現收到什么在發送出去。

在10ms的任務里去調用這個測試函數,實現收發測試。

測試的可以這樣寫,正式的我們需要解析收到的內容,并且重新組織發送的幀,這些解析和重組我們將會在高層的協議驅動文件中實現,有了這個驅動就可以實現CANopen, J1939, DeviceNet等CAN的高層協議了。

5. 測試

測試,擴展幀,500k 位速率,發送數據 aa,01,02,03,04,05,06,bb。板卡收到電腦發送的數據后,回送給電腦。發送100000次, 10ms一次。使用USB-CAN連接到電腦端測試。

至此我們的CAN通信BSP驅動封裝就驗證完成,可以輕松移植到其他板卡上。關注我,為您帶來更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN通信
    +關注

    關注

    5

    文章

    97

    瀏覽量

    18298

原文標題:CAN通信之BSP封裝

文章出處:【微信號:gccanzx,微信公眾號:廣成工控】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    STM32H743以太網與高速USB同時工作遇到的疑問求解

    STM32H743以太網與高速USB同時工作不可靠 各位大俠,我一個項目中使用STM32H743的100M以太網和高速USB,高速USB是外置的PHY USB3300。使用的CubeMX生成
    發表于 04-09 07:53

    STM32H743怎么FreeRTOS中移植canopen?

    STM32H743怎么FreeRTOS中移植canopen?
    發表于 07-03 06:32

    STM32H743芯片實現CAN通信

    1. 摘要本篇筆記主要介紹,STM32H743芯片實現CAN
    發表于 08-20 07:41

    STM32H743 Flash用來存什么

    STM32H743 Flash用來存什么?STM32H743 Flash的硬件特性和基本操作是什么?
    發表于 09-24 09:41

    NUCLEO STM32H743怎么使用?

    NUCLEO STM32H743怎么使用?
    發表于 11-08 06:25

    如何對STM32H743的兩路can進行配置呢

    如何對STM32H743的兩路can進行配置呢?有哪些需要注意的事項呢?
    發表于 11-18 07:30

    stm32h743板子有哪些功能呢

    stm32目前使用非常廣泛,但是目前很多人都還停留在stmf1/f4僅僅只有72/128m主頻階段,stm32h743采用arm m7架構,高達400m主頻的處理器,為我們的控制提供強有力的支持
    發表于 02-11 07:16

    如何調試STM32H743的兩串口?

    如何調試STM32H743的兩串口?
    發表于 02-28 08:51

    請問STM32H753是STM32H743的直接替代品嗎?

    我知道 STM32H753 與 STM32H743 引腳兼容,而且據我所知,對于大多數意圖和目的也是代碼兼容的。唯一的區別似乎是加密硬件加速。所以我假設我可以 H753
    發表于 12-27 07:24

    RT-Thread文件系統組件STM32H743的應用

    RT-Thread(后文簡稱RT)提供的DFS組件、Fatfs組件和SDIO驅動組合起來可用于操作SD卡,但RT的底層驅動目前對STM32H743(后文簡稱H743)適配不是很好,stm32
    發表于 12-05 18:36 ?4次下載
    RT-Thread文件系統組件<b class='flag-5'>在</b><b class='flag-5'>STM32H743</b><b class='flag-5'>上</b>的應用

    stm32h750/stm32h743原理圖和pcb源文件

    stm32目前使用非常廣泛,但是目前很多人都還停留在stmf1/f4僅僅只有72/128m主頻階段,stm32h743采用arm m7架構,高達400m主頻的處理器,為我們的控制提供強有力的支持
    發表于 12-08 09:21 ?163次下載
    <b class='flag-5'>stm32h</b>750/<b class='flag-5'>stm32h743</b>原理圖和pcb源文件

    stm32h743外部RAM非字節對齊訪問,引起的hard fault

    stm32h743外部RAM非字節對齊訪問,引起的hard fault
    發表于 12-09 09:21 ?5次下載
    <b class='flag-5'>stm32h743</b>外部RAM非字節對齊訪問,引起的hard fault

    STM32cube實現STM32H743的USB驅動

    STM32cube實現STM32H743的USB驅動基于STM32cube實現STM32H743
    發表于 12-28 19:53 ?40次下載
    用<b class='flag-5'>STM32</b>cube<b class='flag-5'>實現</b><b class='flag-5'>STM32H743</b>的USB驅動

    stm32h743軟件模擬i2c驅動

    stm32h743 實現gpio模擬i2c資料分享
    發表于 12-01 11:12 ?7次下載

    STM32H743的FDCAN發送線程卡死的處理方法

    芯片型號STM32H743IIT6,測試時發現如果外面沒有連接CAN設備,程序調用CAN發送時會一直等待發送反饋,導致相關線程掛起。
    的頭像 發表于 10-12 11:37 ?5161次閱讀
    主站蜘蛛池模板: 韩国女主播内部vip自带氏巾 | 国产AV麻豆出品在线播放 | av影音先锋天堂网 | 韩国无遮羞禁动漫在线观看 | 高h 大尺度纯肉 np快穿 | 99视频在线观看免费 | 一级毛片西西人体44rt高清 | 尤物国产在线精品三区 | 中文字幕免费视频精品一 | 999精品国产人妻无码系列 | 日韩人妻双飞无码精品久久 | 污污内射久久一区二区欧美日韩 | 亚洲AV久久无码精品九九软件 | 成年性生交大片免费看 | 一个人的HD高清在线观看 | 国产亚洲精品AV片在线观看播放 | 青青草AV国产精品 | 18av 在线 | 跪趴式啪啪GIF动态图27报 | 欧美国产成人在线 | 风月宝鉴之淫乱英雄传 电影 | 国产精品第九页 | 又黄又湿免费高清视频 | 久久久久激情免费观看 | 日韩欧美精品有码在线播放免费 | 快穿之诱受双性被灌满h | 亚在线观看免费视频入口 | 日韩在线视频www色 日韩在线看片中文字幕不卡 | 国产 精品 亚洲 欧美 高清 | 国产在线精品亚洲观看不卡欧美 | 国产精品久久国产三级国不卡顿 | 国产ZZJJZZJJ视频全免费 | 天美传媒色情原创精品 | 超级乱淫片午夜电影网99 | 国产亚洲欧美在线观看三区 | 精品含羞草免费视频观看 | 韩国和日本免费不卡在线 | 免费黄色网址在线观看 | 好大的太粗好深BL | 日韩AV片无码一区二区三区不卡 | 宫交拔不出来了h黑人 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品