文章目录
声明:学习笔记根据b站江科大自化协stm32入门教程编辑,仅供学习交流使用!
前言
本次学习有两个实操代码,第一个是串口收发HEX数据包,第二个是串口收发文本数据包
一、数据包格式(江科大规定)
数据包的作用是把一个个单独的数据打包起来,方便我们进行多字节的数据通信。之前学习的串口代码,发送一个或接收一个字节都没问题。但在实际应用中需要把多个字节打包为一个整体进行发送。比如有一个陀螺仪传感器需要用串口发送数据到STM32,比如X轴一个字节、Y轴一个字节、Z轴一个字节总共3个数据需要连续不断地发送,当按照XYZXYZXYZ…进行连续发送时会出现一个问题,接收方不知道哪个对应X、哪个对应Y,哪个对应Z,因为接收方可能会从任意位置开始接收,会出现数据错位的现象,这时需要一种方式对数据进行分割为一个个数据包,这样接收方可以方便识别第1个为X、第2个位Y、第3个为Z。
分割打包的方法可以自己发挥设计,只要逻辑合理即可。比如可以设计在XYZXYZ…数据流中,数据包第1个数据也就是X数据包,它的最高位置1&#
本文介绍了STM32串口通信中数据包的格式,包括HEX和文本数据包的定义,收发流程,以及实操案例。针对HEX数据包,讨论了固定包长和可变包长两种情况,强调了包头包尾的设计与数据重复问题的解决方案。文本数据包则因其直观易读和人机交互的优势被广泛使用。文章还探讨了状态机在数据包接收中的应用,并提供了实操代码示例。
订阅专栏 解锁全文
3484

被折叠的 条评论
为什么被折叠?



