内容为:测试重复实例化serial是否会出问题
结果,会出问题,需要在再次实例化前先关闭接口,
在初始化时已经打开过一次,再次实例化相当于再打开一次,此时需要先将原来的端口关闭,再打开
具体代码如下:
import serial
import time
class RS485(object):
def __init__(self):
self.comname = 'com10'
self.baudrate = 19200
self.parity = 'N'
self.serialFd = serial.Serial(port=self.comname,baudrate=self.baudrate,parity=self.parity)
def read(self):
self.serialFd.close()
#
self.parity = 'E'
self.baudrate = 9600
self.serialFd = serial.Serial(port=self.comname,baudrate=self.baudrate,parity=self.parity)
# 在初始化时已经打开过一次,再次实例化相当于再打开一次,此时需要先将原来的端口关闭,再打开
# 先close再打开这个端口
def read2(self):
self.read()
mm = 'lcy'
print(self.parity,self.baudrate)
self.serialFd.write(mm.encode('utf-8'))
time.sleep(0.5)
rs485 = RS485()
rs485.read2()