*我发觉不论是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/