一、需求描述
现有一单片机在通过串口向外发送数据,需要使用Python编写程序进行数据的接收,并根据自定义的协议进行报文的解析。
二、自定义协议
因为单片机在通过串口发送数据时,是以字节为单位进行发送,对于接收方来说,收到的是一个字节一个字节的数据,这就引出了一个问题:接收方怎么知道当前收到的字节数据在原数据中属于哪一部分?
打一个通俗的比方。现在,我们在商场里买了一张大床,但是,因为家门太窄,需要将床先拆成一块块木板,等搬到屋内以后,再进行组装还原。
此时,“床”是需要通过串口发送的数据,而“家门”连接着双方串口的发送端和接收端,“一块块木板搬进房中”是按字节发送数据的过程,而“组装还原”则是接收端对收到的数据进行解析,提取出需要的数据或将数据恢复原样。
为了在组装时能够顺利,需要清楚每一块木板所属的位置,因此,声明了自定义的协议。关于自定义协议,可参考文末的链接进行学习理解。
三、Python读取串口的源码
import serial
# 进行串口内容的读取(一次可以读到一个字节的数据)
def recv_data(ser):
while True

本文介绍了如何使用Python接收单片机通过串口发送的字节数据,特别关注自定义协议的应用,包括数据拆分与组装,以及如何解析报文。附有STM32教程链接供进一步学习.
最低0.47元/天 解锁文章
1720

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



