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

Dali通信的工作原理 如何使用Dali通信協(xié)議
搞懂TTL、RS232、485通信協(xié)議!

總線通信協(xié)議解析及應(yīng)用
常見串口通信協(xié)議 如何設(shè)置串口參數(shù)
PLC控制系統(tǒng)的通信協(xié)議解析
PROFINET通信協(xié)議是什么
物聯(lián)網(wǎng)行業(yè)中MQTT通信協(xié)議詳解以及使用

簡單認(rèn)識UART通信協(xié)議
can的通信協(xié)議主要由什么完成
一文了解物聯(lián)網(wǎng)通信協(xié)議之MQTT如何助力無線模塊廣泛連接

IOT(物聯(lián)網(wǎng))的七大通信協(xié)議之Http協(xié)議

評論