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

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

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

3天內不再提示

MAVLink學習之路05_ MAVLink應用編程接口分析

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-07 16:21 ? 次閱讀

MAVLink應用編程主要內容

2.1 發送和接收說明

利用MAVLink通信協議進行編程,主要實現的功能就是:

1.發送端

將需要發送的數據(如:SysState, BatVol),添加MAVLink通信協議,通過硬件(如:UARTCAN)發送出去。

2.接收端

硬件(如:UART、CAN)接收到的數據,通過MAVLink協議解析,得到一幀完整的MAVLink數據包,提取發送端發送的數據(如:SysState, BatVol),將得到的數據應用到我們程序中。

主要流程:數據 -> MAVLink封裝 -> 發送 -> 接收 -> MAVLink解析 ->數據

2.2 發送和接收流程圖

該流程圖是結合我上一篇文章提供的源代碼例程畫出來,包含的只是主要內容,更多細節沒有在流程圖中呈現。

提示:

我提供例程是針對初學者提供比較單一發送和接收例程(MDK-ARM和EWARM包含各自的發送和接收工程)。

而實際項目可能會:

1.發送和接收在一個工程;

2.包含操作系統

3.發送、接收數據FIFO(隊列)處理;

所以,實際項目,請按需修改我提供的源碼。

3

MAVLink函數接口詳細說明

這一章節講述發送和接收主要用到的函數接口,請參考我提供的源代碼例程理解。

為方便初學者理解,我將其分為發送和接收兩個部分來講述。

3.1 發送主要函數接口

上面是我提供例程的代碼,主要講4個接口

1.MAVLink_SendTest

這個接口是根據自己情況進行封裝函數,用于應用程序調用,這里不多說。

2.mavlink_msg_sys_info_pack

這個函數接口主要目的:將變量信息(SysID、CompID、SysState、BatVol)打包,最終得到MAVLink_Msg這個消息包。

3.mavlink_msg_to_send_buffer

將上一步得到的MAVLink_Msg轉換成我們要發送的數據BUF緩存。

4.MAV_USART_SendNByte

這個函數接口也是我自己根據硬件(UART)封裝的,如果你是其它硬件通信,只需要封裝一個類似的接口(參數具有BUF,LEN)即可。

發送數據的流程:從應用代碼 -> 底層硬件(發送出去)。

如果要深入了解,可以先熟悉軟件流程,再結合源代碼工程,同時參看接口函數具體實現。相信你很快就明白了。

3.2 接收主要函數接口

上面是我提供例程的代碼(方便截圖,去掉了部分),主要講以上4點內容。

1.MAV_USART_GetByte

該函數接口也是硬件底層通信接口,請根據自己情況修改,只需要傳遞數據(流)進來即可。

2.mavlink_parse_char

MAVLink解析是按照一個一個字符進行解析,我們接收到一個字符,就對其進行解析,直到解析完(根據返回標志判斷)一幀數據為止。

3.if(MAVLINK_MSG_ID_SYS_INFO == MAVLinkMsg.msgid)

這里就是對解析好的一包完整消息進行分類判斷吧。其實,我是想說,這個地方還有兩個ID需要進行判斷,SysID系統ID和CompID部件ID。

我提供例程為方便初學者快速理解,未提供SysID和CompID判斷,在后續應用編程中會用到。

接收數據的流程:從應用代碼 -> 底層硬件(發送出去)。

以上就是發送和接收的主要函數接口,如果你只是簡單的進行通信,這幾個接口就夠你使用了。當然,更高級的編程應用還需要你進一步掌握其中的內容。

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

    關注

    28

    文章

    922

    瀏覽量

    40583
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2788

    瀏覽量

    465183
  • uart
    +關注

    關注

    22

    文章

    1245

    瀏覽量

    102149
  • mavlink
    +關注

    關注

    0

    文章

    8

    瀏覽量

    2613
收藏 人收藏

    評論

    相關推薦

    國產化ESD管LC05CIH替代 Rclamp0521H

    已經有很多客戶選用雷卯的LC05CIH替代Semtech Rclamp0521H ,客戶可以獲得更好的價格和更快的交期。LC05CIH主要應用于高速信號接口ESD和EOS 保護,比如USB2.0
    的頭像 發表于 03-04 17:30 ?116次閱讀
    國產化ESD管LC<b class='flag-5'>05</b>CIH替代 Rclamp0521H

    Rclamp0521H國產替代型號LC05CIH(ESD管)

    已經有很多客戶選用雷卯的LC05CIH替代SemtechRclamp0521H,客戶可以獲得更好的價格和更快的交期。LC05CIH主要應用于高速信號接口ESD和EOS保護,比如USB2.0,10/100/1000Ethernet
    的頭像 發表于 03-03 16:17 ?112次閱讀
    Rclamp0521H國產替代型號LC<b class='flag-5'>05</b>CIH(ESD管)

    DS28E05 1-Wire EEPROM技術手冊

    (ROM ID ),這是工廠編程寫入芯片的。DS28E05通過MaximIntegrated的單觸點單線接口以超速方式與ROM ID通信,ROM ID在多器件單線網絡中充當節點地址。
    的頭像 發表于 02-26 11:50 ?145次閱讀
    DS28E<b class='flag-5'>05</b> 1-Wire EEPROM技術手冊

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言和編譯器的訪問,使得用戶可以在Python環境中
    的頭像 發表于 12-24 17:33 ?613次閱讀

    BQ78412應用程序編程接口

    電子發燒友網站提供《BQ78412應用程序編程接口.pdf》資料免費下載
    發表于 12-18 14:46 ?0次下載
    BQ78412應用程序<b class='flag-5'>編程</b><b class='flag-5'>接口</b>

    4G模組SD卡接口編程:深度學習

    今天我們需要深度學習的是4G模組SD卡接口編程,以我常用的模組Air724UG為例,分享給大家。
    的頭像 發表于 11-20 23:14 ?391次閱讀
    4G模組SD卡<b class='flag-5'>接口</b><b class='flag-5'>編程</b>:深度<b class='flag-5'>學習</b>

    什么是機器學習?通過機器學習方法能解決哪些問題?

    來源:Master編程樹“機器學習”最初的研究動機是讓計算機系統具有人的學習能力以便實現人工智能。因為沒有學習能力的系統很難被認為是具有智能的。目前被廣泛采用的機器
    的頭像 發表于 11-16 01:07 ?617次閱讀
    什么是機器<b class='flag-5'>學習</b>?通過機器<b class='flag-5'>學習</b>方法能解決哪些問題?

    通過JTAG接口對MSP430進行編程

    電子發燒友網站提供《通過JTAG接口對MSP430進行編程.pdf》資料免費下載
    發表于 10-31 09:31 ?1次下載
    通過JTAG<b class='flag-5'>接口</b>對MSP430進行<b class='flag-5'>編程</b>

    FPGA加速深度學習模型的案例

    :DE5Net_Conv_Accelerator 應用場景 :面向深度學習的開源項目,實現了AlexNet的第一層卷積運算加速。 技術特點 : 采用了Verilog語言進行編程,與PCIe接口相集成,可以直接插入到
    的頭像 發表于 10-25 09:22 ?588次閱讀

    接口芯片的編程模型方法是什么

    接口芯片的編程模型方法是一個復雜的話題,涉及到硬件設計、軟件編程、通信協議等多個方面。 1. 接口芯片概述 接口芯片是用來連接不同硬件設備或
    的頭像 發表于 09-30 11:30 ?384次閱讀

    如何理解socket編程接口

    Socket編程接口是一種網絡編程的基本概念,它提供了一種在不同計算機之間進行通信的方法。 Socket編程接口的基本概念 1.1 Sock
    的頭像 發表于 08-16 10:48 ?608次閱讀

    按照這樣學習C語言,成為卷王不是夢!

    在計算機編程領域,C語言被譽為一種強大而靈活的編程語言,掌握好C語言不僅可以讓你輕松駕馭各種編程任務,還能夠為你的職業生涯打下堅實的基礎。但要成為C語言的“卷王”,需要一定的學習方法和
    的頭像 發表于 07-06 08:04 ?412次閱讀
    按照這樣<b class='flag-5'>學習</b>C語言,成為卷王不是夢!

    機器學習在數據分析中的應用

    隨著大數據時代的到來,數據量的爆炸性增長對數據分析提出了更高的要求。機器學習作為一種強大的工具,通過訓練模型從數據中學習規律,為企業和組織提供了更高效、更準確的數據分析能力。本文將深入
    的頭像 發表于 07-02 11:22 ?932次閱讀

    帶開放式電容器輸出的十六進制逆變器SN54LS05 SN54S05 SN7405 SN74LS05 SN74S05數據表

    電子發燒友網站提供《帶開放式電容器輸出的十六進制逆變器SN54LS05 SN54S05 SN7405 SN74LS05 SN74S05數據表.pdf》資料免費下載
    發表于 05-09 11:12 ?0次下載
    帶開放式電容器輸出的十六進制逆變器SN54LS<b class='flag-5'>05</b> SN54S<b class='flag-5'>05</b> SN7405 SN74LS<b class='flag-5'>05</b> SN74S<b class='flag-5'>05</b>數據表

    OBD接口的CAN分析儀使用方法

    OBD接口的CAN分析儀的使用主要涉及到將設備與汽車的OBD接口連接,并通過配套的軟件進行數據的讀取和分析。以
    的頭像 發表于 04-18 11:21 ?1235次閱讀
    主站蜘蛛池模板: 国产午夜精品久久久久九九 | 伊人成综合网伊人222 | 久久66热在线视频精品 | 97国产露脸精品国产麻豆 | 日韩影院久久 | 国产亚洲欧美日韩综合综合二区 | 坠落的丝袜美人妻 | 国产精品无码AV天天爽色欲 | 青青草在现线免费观看 | 人妻满熟妇AV无码区国产 | 国产AV无码成人黄网站免费 | 蜜桃臀无码内射一区二区三区 | 娇妻让壮男弄的流白浆 | 亚洲.欧美.中文字幕在线观看 | 美女在线永久免费网站 | 学校捏奶揉下面污文h | 女人会操出水图 | 动漫美女被h动态图 | 啪啪羞羞GIF男女0OXX动态图 | 国产精品高潮呻吟AV久久96 | 幼儿交1300部一区二区 | 国产又粗又猛又爽黄老大爷 | 受被攻做到腿发颤高h文 | 亚洲欧洲日产国码久在线 | 人妻熟妇乱又伦精品视频中文字幕 | 日本女人下面毛茸茸 | 肉色欧美久久久久久久蜜桃 | 人人碰国产免费线观看 | 国产超碰人人爱被IOS解锁 | 亚洲AV久久久久久久无码 | 果冻传媒在线播放 | 东京热百度影音 | 日本漫画之无彩翼漫画 | 高清mv视频免费观看 | 西西人体大胆牲交PP6777 | 在线观看亚洲免费人成网址 | 女教师跟黑人男朋友激情过后 | 年轻的女职工在线观看 | 美女18黄 | 日本xxx护士与黑人 日本xxxx裸体xxxx | 久草在线草a免费线看 |