*我發覺不論是mavlink仍是傳感器驅動都是基於串口協議的一個更高層的協議!!!!!!!(沒有協議沒有規則是沒有辦法進行通訊的)

 

驅動作的事情就是協議解析算法

 

ACfly的光流還有TFmini的驅動,他們都有傳感器本身定義的協議。串口只是幫你保證發送一個字節的數據,傳感器的協議它是定義多個字節表明的含義!!!編碼

能夠去看我這篇博文寫的url

https://blog.csdn.net/sinat_16643223/article/details/107680515.net

 

 

mavlink3d

你以前不怎麼理解爲何有串口了爲何還要mavlink,如今應該理解, 它是基於串口之上的一個更高層的協議(並非它上面校驗位比串口更多不是的,而是必需要有這麼一個),你就算不用mavlink,也須要本身定義一個簡單的協議,這樣你才能分出你傳的哪一個是x  哪一個是y  哪一個是z 。這也是你糾結的要寫驅動的那部分,不如就用現成的協議。叫你本身寫一個這種數據的傳輸,你天然就理解爲何須要協議了。你單單串口數據發送過來這邊分不清誰是x誰是y誰是z啊對不對。你本身得弄個規則區分。視頻

那些傳感器用串口,那是由於他們本身也有基於串口之上的協議,並非單用串口就完了,只是你以前沒寫驅動不清楚這一點,昨天細看了ACfly的驅動明白了這一點。是要去看傳感器的datesheet,要去看數據包的格式。也就是協議。而後STM32這邊除了串口驅動你還須要對傳感器的協議解析,這樣才能拿到本身想要的數據。blog

 

因此驅動很大程度上就是協議解析,串口驅動可能還包含一些傳感器設置。因此串口也叫串口通訊協議嘛。開發

 

我想再多看幾個傳感器驅動是否是都是這樣,我以爲必然是這樣的,否則傳感器用串口發過來一堆數據你也分不清誰是誰。你用傳感器必然涉及到協議,嵌入式開發如此重視協議是有道理的,那幾個串口協議你確實須要去背下來。我感受你如今再去看TCPIP協議棧也會好理解得多,藍牙協議棧,我如今也清楚爲何叫電子與通訊工程,這是密不可分的。你如今再去面嵌入式的崗位我以爲才比較有底氣,你如今才真正清楚理解一些東西,你要是能早點真正啃透一個STM32工程我以爲會好些,你以爲呢。不少底層的東西你以前都沒去弄。如今再叫你去看傳感器的datesheet,你也會清晰得多。get

並且我估計你發送圖像數據視頻數據也是須要協議的,否則也是分不清的,流媒體傳輸協議,rtmp  H.264編碼。固然H.264不是協議,應該是先把視頻壓縮,再傳輸。是的,沒有協議沒有規則是沒有辦法進行通訊的,讓我想起了通訊原理。io

ACfly的GPS也是這樣的嘛,你看看找包頭。

 

是的,協議是必不可少的。如今明白協議的重要性了。

 

 

 

mavlink協議關鍵也就是這部分嘛。

 

 

這也你也能夠理解協議棧怎麼造成的。

 

協議就是一套規則,幫你分清數據的,你也能夠本身定義本身的協議只要能夠分清數據就好
 

確實須要深刻學一些東西,同時作些底層開發,這些東西天然可以理解,否則你以前都不知道或者沒理解。

 

但凡是有通訊的地方就會有協議,能夠想一想他們重視協議不是沒有道理的。

 

能夠看到協議就相似於算法,它是某種規則,它是不侷限於某種語言的

http://mavlink.io/zh/

 

相關文章
相關標籤/搜索