在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

CANOpen系列教程13_協議源碼移植 (一)

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-06 15:11 ? 次閱讀

1寫在前面

基于Canfestival框架的CANOpen協議棧移植教程網上流傳著許多,而且有一份不知道被復制、粘貼了多少遍的“CANOpen移植教程”相信許多朋友都知道。

同時,百度、谷歌還能搜出許多所謂“移植代碼”。其實,這許多內容,對初學者并沒有多大幫助。相反,我覺得還有誤導的作用。

基于Canfestival框架的CANOpen協議棧移植需要做的工作并不多,但許多初學者無從下手,究其原因還是有許多內容沒有理解到位。

本教程站在初學者角度,盡量將重要內容講述到位,后面提供移植好的Demo供大家參考學習。

2

移植準備

移植前,先讓大家認識一下移植的一些準備條件。

2.1 硬件

兩塊帶有MCU、CAN控制器收發器的板卡。

該移植教程以STM32F1(自帶CAN控制器),帶有CAN收發器的開發板為例來講述。

條件允許的情況下,可以購買一個CAN總線分析儀。沒有分析儀的朋友,可以用我《CANOpen系列教程06》提供的一個例程來抓取CAN總線數據。

因例程在中斷里用串口打印傳輸數據。所以,用例程抓取的CAN總線傳輸速率不能太快(建議低于20幀/秒)。

2.2 MCU資源

1.CAN:CAN總線通信(必備);

2.TIM:CANOpen協議調度(必備);

3.UART:調試信息(選配);

4.GPIO:板卡狀態指示燈(選配);

2.3 STM32標準外設庫+FreeRTOS工程

本教程基于STM32標準外設庫和FreeRTOS系統搭建的工程為例(很早之前我分享過),這里不講述。

運行RTOS主要是牽涉到CAN總線數據的發送和接收需要兩個線程來處理,以及增加一個CANOpen應用程序線程。

基于其他MCU以及RTOS原理類似,也可參考本文。

2.4 下載Canfestival源碼并搭建好環境

這里的內容,如果你不明白,請務必先閱讀該教程前幾篇相關文章。

3

生成對象字典

本移植教程重點是將CANOpen協議源碼移植到MCU中,使其成功運行。因此,對象字典只配置最基礎的“心跳”。

下面教大家在對象字典編輯器中生成帶“心跳”的對象字典。

1.打開編輯器,文件 -> 新建

2.新建“主站”節點

3.配置心跳信息

4.保存對象字典:文件 -> 保存 -> 保存在一個指定位置

5.建立對象字典

到這里就生成了三個文件:TestMaster.od、 TestMaster.c 和 TestMaster.h需保存好,在后面需要使用這個對象字典源碼。

提示:

A.上面牽涉到三個地方保存名字:節點名字、對象字典工程名字、對象字典源文件名字,建議都一樣。

B.主站和從站的生成原理一樣,上面是生成主站TestMaster對象字典,從站TestSlave對象字典請按照同樣方式生成即可。

4

提取CANOpen源碼

本節內容主要針對初學者使其更加理解移植的代碼工程,將CanFestival中源代碼提取做一定說明,并且盡量將源碼文件對應到自己工程下。

當然,本文按照常規方式提取,你也可以按照自己方式提取。同時,整個工程下其它,如STM32標準外設庫、FreeRTOS這些文件在這里不作說明。

1.提取頭、源文件(如下圖)

CANOpeninc目錄下19個.h頭文件,來自Canfestival->include下目錄19個頭文件;

CANOpenincstm32目錄下3個.h頭文件來自Canfestival->includecm4;

其中canfestival.h文件是函數接口定義(聲明),函數內容需要自己實現(位于:Appcanopen目錄下canopen_drv.c);

CANOpensrc目錄下12個.c源文件,來自Canfestival->src目錄下的12個源文件;

其中需要刪除dcf.c文件下第59、98行前面的“inline”關鍵字;

2.頭文件說明

要修改一下其中的canfestival.h文件:

3.建立canopen文件夾并提取文件

在工程下建立canopen文件夾,提取相應的文件,同時建立自己的文件:canopen_app和canopen_drv.

還需要修改一下congfig.h文件,如下圖:

4.建立CAN和TIM底層驅動文件

在上面canfestival.h文件提供了CAN和TIM的驅動接口,但我們這里不用它那一套接口,自己定義在bsp_can和bsp_timer源代碼下。

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

    關注

    57

    文章

    2769

    瀏覽量

    464387
  • 協議
    +關注

    關注

    2

    文章

    606

    瀏覽量

    39342
  • 源碼
    +關注

    關注

    8

    文章

    652

    瀏覽量

    29454
  • CANopen
    +關注

    關注

    8

    文章

    270

    瀏覽量

    43753
收藏 人收藏

    評論

    相關推薦

    2025必備知識,CANopen轉EtherCAT協議允許配備啥協議的電氣設備

    CANopen轉EtherCAT穩聯技術(WL-COP-ECAT)協議允許配備 CANopen 的設備在基于 EtherCAT 的工業以太網網絡上使用。
    的頭像 發表于 12-29 09:50 ?167次閱讀
    2025必備知識,<b class='flag-5'>CANopen</b>轉EtherCAT<b class='flag-5'>協議</b>允許配備啥<b class='flag-5'>協議</b>的電氣設備

    AGV行業設備協議新生態:canopen轉Profinet網關揭秘!

    在AGV行業快速發展的今天,如何實現設備的高效連接和通信成為了許多企業關注的焦點。開疆智能Canopen轉Profinet網關KJ-PNG-205的應用恰好解決了這問題,它通過將傳統的Canopen
    的頭像 發表于 12-09 17:13 ?338次閱讀
    AGV行業設備<b class='flag-5'>協議</b>新生態:<b class='flag-5'>canopen</b>轉Profinet網關揭秘!

    CANopen協議架構和應用原理

    穩健的通信協議和接口在工業電機控制應用中發揮著重要作用。在工業驅動應用中,當需要多個處理器元件來持續通信以完成復雜任務時,CANopen因其易于集成、高度可配置,以及支持高效、可靠的實時數據交換等特性,受到了眾多工程師青睞。本文從低功耗電機控制應用的角度深入探討
    的頭像 發表于 11-04 13:49 ?468次閱讀

    DeviceNet轉CANopen協議網關(DeviceNet轉CANopen

    ,設備主要功能 捷米特JM-DNT-COP網關實現DeviceNet總線和CANopen網絡連接起來。本網關連接到DeviceNet總線中作為從站使用,連接到CANopen總線中作為主站
    的頭像 發表于 09-10 10:16 ?372次閱讀
    DeviceNet轉<b class='flag-5'>CANopen</b><b class='flag-5'>協議</b>網關(DeviceNet轉<b class='flag-5'>CANopen</b>)

    EtherNet/IP轉CANopen主站協議轉換網關

    ,通過網關向CANopen協議的輸送裝置發送指令,將組裝好的部件輸送至下工位。 二,典型應用拓撲圖 三,
    的頭像 發表于 09-02 11:21 ?266次閱讀
    EtherNet/IP轉<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協議</b>轉換網關

    CANopen主站轉EtherCAT協議網關(EtherCAT轉CANopen

    CANopen轉EtherCAT 如何實現高效且穩定的連接與通信,這個問題常常令許多人士深感困惑。在此,作者為大家深入解讀這難題。 遠創智控YC-ECT-COP 型設備可以很好地解決這協議
    的頭像 發表于 08-29 16:52 ?474次閱讀
    <b class='flag-5'>CANopen</b>主站轉EtherCAT<b class='flag-5'>協議</b>網關(EtherCAT轉<b class='flag-5'>CANopen</b>)

    EtherNet/IP轉CANopen主站協議網關(JM-EIP-COP)

    ,通過網關向CANopen協議的輸送裝置發送指令,將組裝好的部件輸送至下工位。 二,典型應用拓撲圖 三,
    的頭像 發表于 08-26 14:53 ?339次閱讀
    EtherNet/IP轉<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協議</b>網關(JM-EIP-COP)

    EtherCAT從站轉CANopen主站協議網關(JM-ECT-COP)

    ,設備主要功能 捷米特JM-ECT-COP網關實現EtherCAT網絡與CANopen網絡之間的數據通訊,可連接CANopen網絡到EtherCAT網絡。即將CANopen設備連接
    的頭像 發表于 08-15 17:36 ?511次閱讀
    EtherCAT從站轉<b class='flag-5'>CANopen</b>主站<b class='flag-5'>協議</b>網關(JM-ECT-COP)

    EtherNet轉CANopen協議轉化網關功能與配置詳解

    如何才能將EtherNet和CANopen網絡通訊連接起來呢?這幾天有幾個朋友問到了這個問題,作者在這里統為大家詳細說明下。其實有個設備可以很輕松地解決這個問題,名為YC-EIP
    的頭像 發表于 07-25 12:03 ?347次閱讀
    EtherNet轉<b class='flag-5'>CANopen</b><b class='flag-5'>協議</b>轉化網關功能與配置詳解

    Profinet轉CANopen協議轉化網關

    怎么樣把Profinet與CANopen連接起來呢? 最近有很多客戶朋友咨詢這個問題,在這里為大家詳細說明下。其實有個設備可以很輕松地解決這個問題,名為YC-PN-COP,下面是詳細信息。
    的頭像 發表于 07-22 14:34 ?401次閱讀
    Profinet轉<b class='flag-5'>CANopen</b><b class='flag-5'>協議</b>轉化網關

    LwIP協議源碼詳解—TCP/IP協議的實現

    電子發燒友網站提供《LwIP協議源碼詳解—TCP/IP協議的實現.pdf》資料免費下載
    發表于 07-03 11:22 ?3次下載

    STM32H743怎么在FreeRTOS中移植canopen?

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

    CANopen協議移植編譯,直編譯不過的原因?

    a \",\" 錯誤指向CANOPEN_NODE_DATA_INITIALIZER(ObjDict) 自己比對發現并沒有什么問題,但直編譯不過,希望可以指出來什么問題!什么感謝
    發表于 04-26 06:03

    【米爾-瑞薩RZ/G2UL開發板】5.CAN通訊進階CANopen

    描述方式,執行網絡管理功能。 1.1 對象字典 CANopen 對象字典(OD: Object Dictionary)是 CANopen 協議最為核心的概念。所謂的 對象字典就是個有
    發表于 03-31 16:19

    CANopen轉Profinet網關連接西門子PLC與變流器通訊

    CANopen轉Profinet網關(XD-COPNm20)在智能領域,變流器的應用非常廣泛,變流器般會采用CANopen協議?,F場采用臺達的變流器(支持
    的頭像 發表于 03-16 11:05 ?736次閱讀
    <b class='flag-5'>CANopen</b>轉Profinet網關連接西門子PLC與變流器通訊
    主站蜘蛛池模板: 黄色视屏免费在线观看 | 在线免费视频国产 | 五月天婷婷网站 | 久操久操久操 | 18满xo影院视频免费体验区 | 伊人久久亚洲综合 | 色综合狠狠操 | 亚色在线 | 精品久久久久久午夜 | 免费爱爱网站 | 美女三级黄 | 国产亚洲午夜精品a一区二区 | 久久国内精品视频 | 69女porenhd| 两性色视频 | 日本香蕉视频 | 色欲情狂 | www.色亚洲| 午夜视频在线网站 | 男女无遮挡在线完整视频 | 赛罗奥特曼银河帝国普通话免费版 | 久青草国产免费观看 | 思思久久96热在精品不卡 | 免费可以看黄的视频 s色 | 美女扒开尿口让男生添 漫画 | 亚洲三级视频在线观看 | 久久久久国产精品免费免费 | 亚洲天堂视频一区 | 1024你懂的国产在线播放 | 一级日本大片免费观看视频 | vip免费观看| 日韩a毛片免费全部播放完整 | 超黄视频在线观看 | 亚洲精品亚洲人成人网 | 极品色天使在线婷婷天堂亚洲 | 国产伦精品一区二区三区女 | 日本一区二区三区不卡在线看 | 亚洲日本视频 | 五月.com| 天天搞夜夜操 | 狠狠操亚洲 |