chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-06 15:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1寫在前面

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

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

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

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

2

移植準(zhǔn)備

移植前,先讓大家認(rèn)識一下移植的一些準(zhǔn)備條件。

2.1 硬件

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

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

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

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

2.2 MCU資源

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

2.TIM:CANOpen協(xié)議調(diào)度(必備);

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

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

2.3 STM32標(biāo)準(zhǔn)外設(shè)庫+FreeRTOS工程

本教程基于STM32標(biāo)準(zhǔn)外設(shè)庫和FreeRTOS系統(tǒng)搭建的工程為例(很早之前我分享過),這里不講述。

運行RTOS主要是牽涉到CAN總線數(shù)據(jù)的發(fā)送和接收需要兩個線程來處理,以及增加一個CANOpen應(yīng)用程序線程。

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

2.4 下載Canfestival源碼并搭建好環(huán)境

這里的內(nèi)容,如果你不明白,請務(wù)必先閱讀該教程前幾篇相關(guān)文章。

3

生成對象字典

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

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

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

2.新建“主站”節(jié)點

3.配置心跳信息

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

5.建立對象字典

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

提示:

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

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

4

提取CANOpen源碼

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

當(dāng)然,本文按照常規(guī)方式提取,你也可以按照自己方式提取。同時,整個工程下其它,如STM32標(biāo)準(zhǔn)外設(shè)庫、FreeRTOS這些文件在這里不作說明。

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

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

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

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

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

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

2.頭文件說明

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

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

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

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

4.建立CAN和TIM底層驅(qū)動文件

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    58

    文章

    3005

    瀏覽量

    471366
  • 協(xié)議
    +關(guān)注

    關(guān)注

    2

    文章

    616

    瀏覽量

    40822
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    682

    瀏覽量

    31063
  • CANopen
    +關(guān)注

    關(guān)注

    8

    文章

    456

    瀏覽量

    47492
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ProfiNet轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)西門子1200 PLC與多個CANopen水下儀表通訊的配置案例

    CANopen 協(xié)議,且數(shù)量超過 9 臺。傳統(tǒng)方案是在 PLC 機架內(nèi)加裝 CM CANopen 模塊,但受限于海底長距離總線拓?fù)渑c防爆分區(qū),旦超過 8 個節(jié)點即出現(xiàn)報文碰撞、丟包
    的頭像 發(fā)表于 11-14 10:32 ?477次閱讀
    ProfiNet轉(zhuǎn)<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)實現(xiàn)西門子1200 PLC與多個<b class='flag-5'>CANopen</b>水下儀表通訊的配置案例

    協(xié)議橋接新范式:穩(wěn)聯(lián)技術(shù)打通EtherCAT與CANopen,賦能施耐德變頻器

    協(xié)議橋接新范式:穩(wěn)聯(lián)技術(shù)打通EtherCAT與CANopen,賦能施耐德變頻器 本方案實現(xiàn)歐姆龍控制器(EtherCAT主站)通過EtherCAT-CANopen協(xié)議轉(zhuǎn)換網(wǎng)關(guān)控制施耐德
    的頭像 發(fā)表于 11-07 15:20 ?1222次閱讀
    <b class='flag-5'>協(xié)議</b>橋接新范式:穩(wěn)聯(lián)技術(shù)打通EtherCAT與<b class='flag-5'>CANopen</b>,賦能施耐德變頻器

    CANopen轉(zhuǎn)Profinet是種構(gòu)建于控制局域網(wǎng)設(shè)備之上的協(xié)議網(wǎng)關(guān)

    CANopen作為構(gòu)建于控制局域網(wǎng)(Controller Area Network, CAN)之上的高層通信協(xié)議,其體系架構(gòu)包含通信子協(xié)議與設(shè)備子協(xié)議。此
    的頭像 發(fā)表于 11-05 14:05 ?231次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)Profinet是<b class='flag-5'>一</b>種構(gòu)建于控制局域網(wǎng)設(shè)備之上的<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)

    CANopen轉(zhuǎn)Profient網(wǎng)關(guān)協(xié)議介紹

    CANopen介紹: CANopen種基于控制器局域網(wǎng)(CAN)的高層工業(yè)通信協(xié)議,由國際用戶和制造商協(xié)會CiA于1995年發(fā)布,基礎(chǔ)規(guī)范為CiA 301標(biāo)準(zhǔn)。該
    的頭像 發(fā)表于 09-25 17:31 ?590次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)Profient網(wǎng)關(guān)<b class='flag-5'>協(xié)議</b>介紹

    通信協(xié)議高材生,PROFINET to CANopen網(wǎng)關(guān)連接西門子PLC與匯川變頻器

    S7-1500系列PLC支持PROFINET協(xié)議。協(xié)議上不致無法直接通訊實現(xiàn)數(shù)據(jù)交互。需要通過第三方的協(xié)議轉(zhuǎn)換模
    的頭像 發(fā)表于 08-12 10:49 ?635次閱讀
    通信<b class='flag-5'>協(xié)議</b>高材生,PROFINET to <b class='flag-5'>CANopen</b>網(wǎng)關(guān)連接西門子PLC與匯川變頻器

    承擔(dān)CANOPEN轉(zhuǎn)PROFINET協(xié)議轉(zhuǎn)換功能的網(wǎng)關(guān)與臺達(dá)伺服器的連接

    ,則必須進(jìn)行通訊協(xié)議轉(zhuǎn)換。PROFINET轉(zhuǎn)CANOPEN系列網(wǎng)關(guān)為此提供了種高效可行的解決方案。 首先,自西門子組態(tài)處開展GSD文件的安裝工作。具體操作如下:選定GSD文件所在的文
    的頭像 發(fā)表于 07-24 18:01 ?370次閱讀
    承擔(dān)<b class='flag-5'>CANOPEN</b>轉(zhuǎn)PROFINET<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換功能的網(wǎng)關(guān)與臺達(dá)伺服器的連接

    CANopen轉(zhuǎn)EtherCAT協(xié)議轉(zhuǎn)換案例解析

    在工業(yè)自動化領(lǐng)域,運動控制器與傳感器之間的協(xié)議兼容性是系統(tǒng)集成中的關(guān)鍵挑戰(zhàn)。某智能裝備制造企業(yè)采用EtherCAT協(xié)議的運動控制器作為主站,需驅(qū)動基于CANopen協(xié)議的分布式傳感器網(wǎng)
    的頭像 發(fā)表于 06-17 19:22 ?310次閱讀
    <b class='flag-5'>CANopen</b>轉(zhuǎn)EtherCAT<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換案例解析

    協(xié)議大和解:ETHERCAT轉(zhuǎn)CANopen網(wǎng)關(guān)配置

    最近有同學(xué)后臺咨詢疆鴻智能EtherCAT轉(zhuǎn)CANopen協(xié)議轉(zhuǎn)換網(wǎng)關(guān)如何配置,小編今天給大家詳細(xì)分享下配置的步驟。 ,設(shè)備主要功能 JH-ECT009 型網(wǎng)關(guān)是EtherCAT網(wǎng)絡(luò)
    的頭像 發(fā)表于 05-21 14:55 ?466次閱讀
    <b class='flag-5'>協(xié)議</b>大和解:ETHERCAT轉(zhuǎn)<b class='flag-5'>CANopen</b>網(wǎng)關(guān)配置

    EtherCAT轉(zhuǎn)CANopen協(xié)議網(wǎng)關(guān)應(yīng)用詳解

    成為運動控制領(lǐng)域的“明星”,而CANopen則憑借靈活性和成本優(yōu)勢在中小型設(shè)備中廣泛應(yīng)用。當(dāng)兩者相遇時,如何打破協(xié)議阻礙,實現(xiàn)無縫互聯(lián)? EtherCAT轉(zhuǎn)CANopen網(wǎng)關(guān)通過智能協(xié)議
    的頭像 發(fā)表于 05-19 14:19 ?419次閱讀
    EtherCAT轉(zhuǎn)<b class='flag-5'>CANopen</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)應(yīng)用詳解

    當(dāng)沖壓焊接遇上Canopen到Profinet協(xié)議轉(zhuǎn)換網(wǎng)關(guān)

    在工業(yè)自動化領(lǐng)域,設(shè)備間的“對話”效率直接決定了生產(chǎn)線的生命力。沖壓焊接作為金屬加工的核心環(huán)節(jié),常常面臨設(shè)備品牌多樣、通信協(xié)議不統(tǒng)的困境——德國伺服電機用Canopen協(xié)議傳遞控制指
    的頭像 發(fā)表于 05-11 10:51 ?350次閱讀
    當(dāng)沖壓焊接遇上<b class='flag-5'>Canopen</b>到Profinet<b class='flag-5'>協(xié)議</b>轉(zhuǎn)換網(wǎng)關(guān)

    Profinet轉(zhuǎn)CanOpen網(wǎng)關(guān),打破協(xié)議壁壘的關(guān)鍵技術(shù)

    在石油化工行業(yè)的生產(chǎn)現(xiàn)場,各類自動化設(shè)備如同精密運轉(zhuǎn)的神經(jīng)系統(tǒng),而通信協(xié)議則是傳遞信號的"語言"。當(dāng)不同廠商的設(shè)備采用Canopen與Profinet這兩種主流工業(yè)協(xié)議時,就像
    的頭像 發(fā)表于 05-10 14:14 ?358次閱讀
    Profinet轉(zhuǎn)<b class='flag-5'>CanOpen</b>網(wǎng)關(guān),打破<b class='flag-5'>協(xié)議</b>壁壘的關(guān)鍵技術(shù)

    使用ES32實現(xiàn)CANopen從機

    CANopen種基于CAN的通信協(xié)議,已在工業(yè)領(lǐng)域得到了廣泛應(yīng)用。CAN提供可靠的底層數(shù)據(jù)傳輸,CANopen提供標(biāo)準(zhǔn)化的應(yīng)用層協(xié)議。在
    的頭像 發(fā)表于 03-26 19:05 ?1446次閱讀
    使用ES32實現(xiàn)<b class='flag-5'>CANopen</b>從機

    CANOPEN協(xié)議詳細(xì)介紹

    ???????? CANOPEN協(xié)議是基于CAN總線協(xié)議建立的應(yīng)用層協(xié)議。 CANOPEN協(xié)議
    發(fā)表于 03-26 15:27 ?0次下載

    2025必備知識,CANopen轉(zhuǎn)EtherCAT協(xié)議允許配備啥協(xié)議的電氣設(shè)備

    CANopen轉(zhuǎn)EtherCAT穩(wěn)聯(lián)技術(shù)(WL-COP-ECAT)協(xié)議允許配備 CANopen 的設(shè)備在基于 EtherCAT 的工業(yè)以太網(wǎng)網(wǎng)絡(luò)上使用。
    的頭像 發(fā)表于 12-29 09:50 ?707次閱讀
    2025必備知識,<b class='flag-5'>CANopen</b>轉(zhuǎn)EtherCAT<b class='flag-5'>協(xié)議</b>允許配備啥<b class='flag-5'>協(xié)議</b>的電氣設(shè)備

    AGV行業(yè)設(shè)備協(xié)議新生態(tài):canopen轉(zhuǎn)Profinet網(wǎng)關(guān)揭秘!

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