现在急需,串口通信文档如何看懂?

位移,帧,通信协议文档(比如socket发送的不是字符串而且一种协议类似于{0*00,0*01,0*05等})包括头,参数,长度,效验方式等,不知道这种文档怎么发送报文?
有老司机的话贴文档,望瞧一瞧!!!会C 语言的话应该看的懂

8个回答

比如,61 01 04 4567 xx 60这一帧数据,61是包头,60是包尾,xx是校验位,01是设备地址,等等,根据协议它里面有对应的解释。
就拿上面这一帧数据来说,基本都是16进制,而且都是最少一个字节存在的,比如61代表包头,就是一个字节,4567数据位就是两个字接,当然是分高低位的。具体看协议是怎摸说的,
发送的时候可以是“61 01 04 4567 xx 60”这样啊方便拼包,最后转换成16进制就行了。在接受数据的时候在把他们转换成字符串,编译数据解析处理。

TCP/IP或者UDP通讯协议的很简单呀,数据帧你就理解成一个byte类型的数组就好了。每一个数组元素就是一个字节,数组下标就是数据帧地址。至于内容,根据你拿到的文档规定的协议生成或者解析就OK了
至于具体的通讯过程你去找例程就好了,基本就是监听、建立连接、握手、接收(发送)数据,断开连接。或者如果长连接就是按照预定的周期(几秒钟或者几分钟)发送一个心跳包就OK了。IoT的应用中大量这种通讯很灵活,就是注意多线程的问题和资源释放的问题,连接使用过之后必须及时断开并释放资源。不然很容易挂掉你的设备或者服务器的。

LGGisKing
LuoCliper 老司机,现在让我懵逼的就是你说的,生成包,和解析包,不知道该怎么去封装成一个统一的方法,协议包含:包头,命令,参数长度,参数内容,校验和
大约 3 年之前 回复

串口通信的话,具体的串口通信协议内容你不用关心那么基础的配置和内容吧,先配置好串口的通信波特率,然后发送数据时直接将自己的数据填入发送buffer,至于自己双方的通信协议的话通常帧头,帧尾校验和一加应该就差不多了,再高级别的再来个加密应该就够了吧

协议是软件定义的,你不说你想要的是哪种协议也不知道你需要的是啥
串口不像网络有特定的通用协议例如TCP/UDP等等,
串口实际上就是明文,常见的协议也都是基于明文的如AT协议等等,
也就是说串口的数据得看你用的是啥软件....

图片说明

你需要什么样的指导可以把自己的疑问再说的详细一些

比如我需要解开机这个包,和发送开机的包,该怎么写呢?怎么封装一个统一的方法呢?请教各位老司机图片图片图片

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐