Image
Image

从此不早朝

+ 关注

粉丝 0     |     主题 22     |     回帖 185

如何实现自定义串口通信协议?
2022-8-26 15:03
  • ST MCU
  • 19
  • 1186
  5最后 以上自定义协议内容仅供参考,最终用哪些、占用几个字节都与你实际需求有关。 基于串口的自定义通信 ...  
  c.更多 接收和发送一样,实现方法有很多种,比如接收同样也可以用结构体方式。但有一点,都需要结合你实际 ...  
  b.增加超时检测 接收数据有可能存在接收了一半,中断因为某种原因中断了,这时候,超时检测也很有必要。 ...  
  2.消息数据接收 串口消息接收,通常串口中断接收的方式居多,当然,也有很少情况用轮询的方式接收数据。 a ...  
  d.其他更多 串口发送数据的方式有很多,比如用DMA的方式替代消息队列的方式。 ...  
  c.用“结构体”代替“数组SendBuf”方式 结构体对数组更方便引用,也方便管理,所以,结构体方式相比数组bu ...  
  b.通过消息队列发送 在上面基础上,用一个buf装下消息,然后“打包”到消息队列,通过消息队列的方式(FIFO ...  
  1.消息数据发送 a.通过串口直接发送每一个字节 这种对于新手来说都能理解,这里分享一个之前DGUS串口屏的例 ...  
  4通信协议代码实现 自定义通信协议,代码实现的方式有很多种,怎么说呢,“条条大路通罗马”你只需要按照你 ...  
  8.校验码 校验码是一个比较重要的内容,一般正规一点的通信协议都有这个选项,原因很简单,通信很容易受到 ...  
  7.帧尾 有些协议可能没有帧尾,这个应该是可有可无的一个选项。  
  6.数据 数据就不用描述了,就是你传输的实实在在的数据,比如温度:25℃。 ...  
  5.数据长度 数据长度这个选项,可能有的协议会把该选项提到前面设备地址位置,把命令这些信息算在“长度” ...  
  4.命令类型/功能码 这个选项对命令进一步补充。比如:读、写操作。 举例:读Flash:0x01; 写Flash:0x02 ...  
  3.命令/指令 命令/指令比较常见,一般是不同的操作,用不同的命令来区分。 举例:温度:0x01;湿度:0x02 ...  
  2.设备地址/类型 设备地址或者设备类型,通常是用于多种设备之间,为了方便区分不同设备。 这种情况,需要 ...  
  1.帧头 帧头,就是一帧通信数据的开头。 有的通信协议帧头只有一个,有的有两个,比如:5A、A5作为帧头。 ...  
  3通信协议常见内容 基于串口的通信协议通常不能太复杂,因为串口通信速率、抗干扰能力以及其他各方面原因, ...  
  2过于简单的通信协议引发的问题 上面那种只有三个字节的通信协议,相信大家都看明白了。虽然它也能通信,也 ...  
36张图详解网络基础知识
2023-1-20 10:51
  • ST MCU
  • 51
  • 1044
  数据链路层设备有二层交换机、网桥等。二层网络设备只转发数据,通过识别数据的 MAC 地址进行转发。二层交 ...  
2
3
近期访客