电脑知识 如何看懂串口通信协议(程序员视角)
用一个案例,带你看懂大部分串口通信协议。跟着看就好,因为大部分协议都是大同小异,看懂一个,基本其他也大差不差了。
目录
前言
用一个案例,带你看懂大部分串口通信协议。跟着看就好,因为大部分协议都是大同小异,看懂一个,基本其他也大差不差了。
昨天有人问我,串口通信协议要怎么看?她看不太懂。
她发来了这个:(如图1所示)
一、串口文档
目录部分跳过,我只截图前1,2,4,5页,因为只要看懂一部分,后面基本就都懂了。
二、明确身份
在这个案例里,我们不需要接线,我们只考虑自己是程序员,知道如何收发信息既可。
三、串口设置
首先需要和这个硬件建立连接,所以需要按它的需求进行设置。(如图6所示)
IO的意思就是,输入和输出(in和out),我们接收和传输信息都必须满足这些设置。
每一个串口调试软件都有这部分。(如图7所示)
四、看懂命令格式
串口协议,可以理解为你给串口发命令,需要满足什么格式。(如图8所示)
在这个协议里,我们既要发信息,也要接收信息,所以格式有两种,一种是,你给雷达发的时候的命令,第二个是你雷达收到消息了,会给你回个信,这个信你也需要看懂他。
例:你问雷达:“我们能发消息了吗?”,雷达说:“可以了,开始吧”。
你问雷达:“现在出现的东西离我们多远”。雷达说:“3米”。
所以,你既要会问,雷达的回信你还要看懂。
五、看懂发送命令的格式
我们先看发送命令格式部分(如图9所示)。
1.帧头和帧尾
帧头和帧尾是固定不变的(如图10所示),就像写信:“亲爱的粉丝们你们好”........“感谢大家看我的信”。
2.帧内数据长度
红框里写的是绿框的长度,绿框才是我们真正的命令。(如图11所示)
举个例子:
亲爱的粉丝们你们好 命令是4个字 给我点赞 感谢大家看我的信
这个字数,和只爱我一个是需要变的。
3.帧内数据/具体命令
这个命令也有要求,一个是啥命令(命令字),第二个是具体多少次(命令值)。
举个例子: 给我点赞 3次
4.整体命令
所以,这个命令整体应该是:
亲爱的粉丝们你们好 命令是4个字 给我点赞 3次 感谢大家看我的信
(对不起,我不该命令你们,我错了,不要抛弃我~~嘤嘤嘤嘤嘤)
5.真正的命令字和命令值
在下面的示例中,我们可以看见命令字和命令值。(如图13所示)
命令字是0x00FF,但是0x不用看,他的意思是,这是16进制的数,他不是数字的一部分。
备注:为什么0x是十六进制呢?
答:WC是什么意思呢?你怎么知道WC是卫生间?0x就是为什么叫16进制,约定俗成。
例:比如我写11,你怎么知道是2进制还是10进制,还是16进制?如果我写0x11,就是,16进制的11。
所以,这里的命令字是00 FF,命令值同理。
六、第一个案例
接下来我们一起看第一个案例。
1.发送命令
这个雷达有个要求,你发其他命令前,需要先发一个命令启动。然后我们一起看这个命令。
(如图14所示)
2.雷达的回答
这时候雷达会回复你。你必须收到这串数字,才是真的成功了。(如图15所示)
七、作者的话
作者会在生活中和私信里筛选内容进行讲解哒,如果大家提问,希望详细一点。这样我才好锁定知识点进行讲解。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)