MAVLink主要是一種用于飛行器上的通信協議,但很有參考意義,算是給大家普及的知識。
Ⅰ關于MAVLink
可能很多人都不知道“MAVLink”是什么東西,簡單來說它就是一種輕量級的通信協議。
可能很多人會問,大家都不了解的這個“東西”,你講來干什么?
正如抬頭所說:給大家普及知識,而且可以應用到許多地方,說不定我講過之后你就會用上它。
1.對于初學者,了解一種協議的格式,以及它的應用我覺得對他以后的編程有幫助;
2.一種在某個行業通用,并且很成熟的通信協議很有借鑒;
3.MAVLink與很多自定的協議相比,它的開發難度非常小,有現成的配置工具,可直接生成MSG代碼(簡單來說,就是生成對應的函數接口供你直接調用即可),直接調用幾個相應的函數接口即可,不需要自己封裝、解析等;
4.MAVLink是一種輕量級的通信協議,可用于各類運行速度不是很高的單片機中(當然,也能用于快速的PC中)。
ⅡMAVLin協議結構
先看協議結構(或者說格式),如下圖:
看到上面協議格式,相信大家都會覺得,這不就是一般的協議嗎? 說實話,它和一般的協議格式沒什么兩樣,但“五臟俱全”,就是一種協議。就像人,有黃種人、白種人、黑種人等各種各樣的人,但都屬于人。
ⅢMAVLink的使用簡單、方便
說實話,本文的重點在于這一章節。MAVLink和一般協議比較,它不僅具有常規協議的格式,突出的優點在于配置和調用比較簡單。
1.配置
MAVLink通過xml文件,配置信息(MSG),這個MSG可以理解成我們需要接收或者發送的數據變量。比如:運動控制包含速度和距離,xml配置如下:
2.通過生成代碼
本節牽涉到相關工具的安裝,這里不講述。下面是生成的工具:
3.調用代碼
代碼生成,只需要簡單調用兩個函數接口即可:
兩個函數即可:
mavlink_msg_motion_pack:封包函數接口;
mavlink_msg_to_send_buffer:轉換成發送的BUF;
如下:
看到上面的調用,是不是很簡單呢?
本文只是簡單的講述,想要學習更是相關MAVLink的知識,請參考網址:
MAVLink主頁:mavlink_msg_to_send_buffer
協議說明(維基百科):https://en.wikipedia.org/wiki/MAVLink
Ⅳ最后
-
通信協議
+關注
關注
28文章
999瀏覽量
40947 -
編程
+關注
關注
88文章
3679瀏覽量
94865 -
mavlink
+關注
關注
0文章
8瀏覽量
2652
發布評論請先 登錄
Modbus 轉 Profinet:工業通信協議的橋梁

Dali通信的工作原理 如何使用Dali通信協議
總線通信協議解析及應用
常見串口通信協議 如何設置串口參數
AUTOSAR通信協議解析 如何實現AUTOSAR通信
RS485通信協議的應用與優勢
串口通信協議解析 串口通信應用實例
PLC控制系統的通信協議解析
PROFINET通信協議是什么
物聯網行業中MQTT通信協議詳解以及使用

簡單認識UART通信協議
簡單認識I2C通信協議
can的通信協議主要由什么完成
一文了解物聯網通信協議之MQTT如何助力無線模塊廣泛連接

評論