- 获取电脑中所有的串口号的函数
serial_com = serialPortFile.GetCom()
def GetCom():
port_list = list(serial.tools.list_ports.comports())
print(len(port_list))
portcnt = len(port_list)
serial_com = []
for m in range(portcnt):
port_list_1 = list(port_list[m])
serial_com.append(port_list_1[0])
return serial_com
- 串口打开关闭函数,串口打开之后创建了一个线程threading,线程中一直监视串口的状态,一旦接受到数据,就把数据显示到接受数据显示框中。
def usart_ctrl(com, bps,parity_,stopbits_,bytesize_):
global ser, button_var
if button_var.get() == "打开串口":
button_var.set("关闭串口")
ser = serial.Serial(
port=com,
baudrate=int(bps),
parity=parity_,
timeout=0.2,
stopbits=float(stopbits_),
bytesize=int(bytesize_))
if ser.is_open:
pass
else:
ser.open()
recv_data = threading.Thread(target=thread_recv)
recv_data.start()
else:
button_var.set("打开串口")
if ser.is_open:
ser.close()
else:
pass