其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个串口助手只实现了数据的接收读取。
创建串口助手首先需要创建一个类,重构类的实现过程如下:
1 #coding=gb18030 2 3 import threading 4 import time 5 import serial 6 7 class ComThread: 8 def __init__(self, Port='COM3'): 9 #构造串口的属性 10 self.l_serial = None 11 self.alive = False 12 self.waitEnd = None 13 self.port = Port 14 self.ID = None 15 self.data = None 16 #定义串口等待的函数 17 def waiting(self): 18 if not self.waitEnd is None: 19 self.waitEnd.wait() 20 21 def SetStopEvent(self): 22 if not self.waitEnd is None: 23 self.waitEnd.set() 24 self.alive = False 25 self.stop() 26 #启动串口的函数 27 def start(self): 28 self.l_serial = serial.Serial() 29 self.l_serial.port = self.port 30 self.l_serial.baudrate = 115200 31 #设置等待时间,若超出这停止等待 32 self.l_serial.timeout = 2 33 self.l_serial.open() 34 #判断串口是否已经打开 35 if self.l_serial.isOpen(): 36 self.waitEnd = threading.Event() 37 self.alive = True 38 self.thread_read = None 39 self.thread_read = threading.Thread(target=self.FirstReader) 40 self.thread_read.setDaemon(1) 41 self.thread_read.start() 42 return True 43 else: 44