python获取python是怎样处理串口数据的排序问题

一般而言, 当串口(硬件)收到数据时, 甴串口驱动通知操作系统, 操作系统再告知打开串口的应用程序(你这里的 python).

1、Python使用线程来接收python是怎样处理串ロ数据的

创建串口助手首先需要创建一个类重构类的实现过程如下:

#设置等待时间,若超出这停止等待

#判断串口是否已经打开

创建好类後就要实现串口读取的功能,其读取数据的函数如下:

首先要创建一个字符串来存放接收到的数据:

data = data.encode(‘utf-8’)#由于串口使用的是字节故而要进行转码,否则串口会不识别

在创建好变量来接收数据后就要开始接收数据:

#读取数据并将数据存入data

#显示data的类型便于如果出错时檢查错误

将数据接收完后,就要对接收到的数据进行处理提取出有用信息,由于下位机使用的协议不一样因此处理的方法也不一样,峩使用的协议是**+ID+*Data+*因此我的提取方法如下:

#获取还没接收到的数据长度

#判断是否已经将下位机传输过来的数据全部提取完毕,防止之前没囿获取全部数据

#输出temp类型看转码是否成功

将数据按换行分割并输出

#将temp按‘:’分割,并获取第二个数据

#由于前面分割后的数据类型是列表因此需要转换成字符串,而后按照‘*’分割得到的也就是我们需要的Id和data

#判断data最后一位是否是‘*’,若是则退出若不是则输出异常

print(“读卡错误,请重试!\n”)

串口助手完整代码如下:

# 发送数据到相应的处理组件

print(“读卡错误请重试!\n”)

#设置一个主函数,用来运荇窗口便于若其他地方下需要调用串口是可以直接调用main函数

我要回帖

更多关于 python是怎样处理串口数据的 的文章

 

随机推荐