博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
*我发觉不管是mavlink还是传感器驱动都是基于串口协议的一个更高层的协议!!!!!!!(没有协议没有规则是没有办法进行通信的)
阅读量:4082 次
发布时间:2019-05-25

本文共 1382 字,大约阅读时间需要 4 分钟。

 

驱动做的事情就是协议解析

 

ACfly的光流还有TFmini的驱动,他们都有传感器自己定义的协议。串口只是帮你保证发送一个字节的数据,传感器的协议它是定义多个字节代表的含义!!!

可以去看我这篇博文写的

 

现在认识到协议的意义之后,也会觉得协议有意思,你以前没有真正理解协议,可能有时候还觉得是个多余麻烦的东西,现在意识到是个必须必要的东西,不然真的没办法通信!!!!!叫你自己写个通信就明白了!!!!!!!

 

 

mavlink

你之前不怎么理解为什么有串口了为什么还要mavlink,现在应该理解, 它是基于串口之上的一个更高层的协议(并不是它上面校验位比串口更多不是的,而是必须要有这么一个),你就算不用mavlink,也需要自己定义一个简单的协议,这样你才能分出你传的哪个是x  哪个是y  哪个是z 。这也是你纠结的要写驱动的那部分,不如就用现成的协议。叫你自己写一个这种数据的传输,你自然就理解为什么需要协议了。你单单串口数据发送过来这边分不清谁是x谁是y谁是z啊对不对。你自己得弄个规则区分。

那些传感器用串口,那是因为他们自己也有基于串口之上的协议,并不是单用串口就完了,只是你之前没写驱动不清楚这一点,昨天细看了ACfly的驱动明白了这一点。是要去看传感器的datesheet,要去看数据包的格式。也就是协议。然后STM32这边除了串口驱动你还需要对传感器的协议解析,这样才能拿到自己想要的数据。

 

所以驱动很大程度上就是协议解析,串口驱动可能还包含一些传感器设置。所以串口也叫串口通信协议嘛。

 

我想再多看几个传感器驱动是不是都是这样,我觉得必然是这样的,不然传感器用串口发过来一堆数据你也分不清谁是谁。你用传感器必然涉及到协议,嵌入式开发如此重视协议是有道理的,那几个串口协议你确实需要去背下来。我感觉你现在再去看TCPIP协议栈也会好理解得多,蓝牙协议栈,我现在也清楚为什么叫电子与通信工程,这是密不可分的。你现在再去面嵌入式的岗位我觉得才比较有底气,你现在才真正清楚理解一些东西,你要是能早点真正啃透一个STM32工程我觉得会好些,你觉得呢。很多底层的东西你之前都没去弄。现在再叫你去看传感器的datesheet,你也会清晰得多。

而且我估计你发送图像数据视频数据也是需要协议的,不然也是分不清的,流媒体传输协议,rtmp  H.264编码。当然H.264不是协议,应该是先把视频压缩,再传输。是的,没有协议没有规则是没有办法进行通信的,让我想起了通信原理。

ACfly的GPS也是这样的嘛,你看看找包头。

 

是的,协议是必不可少的。现在明白协议的重要性了。

 

 

 

mavlink协议关键也就是这部分嘛。

 

 

这也你也可以理解协议栈怎么形成的。

 

协议就是一套规则,帮你分清数据的,你也可以自己定义自己的协议只要可以分清数据就好

 

确实需要深入学一些东西,同时做些底层开发,这些东西自然能够理解,不然你之前都不知道或者没理解。

 

但凡有通信的地方就会有协议,可以想想他们重视协议不是没有道理的。

 

可以看到协议就类似于算法,它是某种规则,它是不局限于某种语言的

 

 

 

 

这里也说得很清楚,通信协议,不光要考虑流失数据校验的问题,还能够按照字节处理数据,做到及时解析出正确数据和及时发现传输错误的数据。这些都是必要必不可少的。

 

 

 

这个人说的对,和我理解的一样,定义好协议就行,裸串口都可以。

转载地址:http://aalni.baihongyu.com/

你可能感兴趣的文章
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>
139. Word Break (DP)
查看>>
Tensorflow入门资料
查看>>
剑指_用两个栈实现队列
查看>>
剑指_栈的压入弹出序列
查看>>
剑指_复杂链表的复制
查看>>
大数相乘不能用自带大数类型
查看>>
字节跳动后端开发一面
查看>>
CentOS Tensorflow 基础环境配置
查看>>
FTP的命令
查看>>
CentOS操作系统下安装yum的方法
查看>>
ping 报name or service not known
查看>>
FTP 常见问题
查看>>
zookeeper单机集群安装
查看>>
do_generic_file_read()函数
查看>>
Python学习笔记之数据类型
查看>>
Python学习笔记之特点
查看>>