解决串口工具串口号改变的问题(借助python和ch344/8)
串口工具一般在插不同usb口的时候,识别出来的串口号不一致,pl2303可以固定,但是更换电脑后也会变化,可以借助沁恒家的一款串口一转多的工具,ch344或ch348,插到usb上后,虽然串口号变了,但是名字没有变(如下图),可以通过名字进行查找。
·
串口工具一般在插不同usb口的时候,识别出来的串口号不一致,pl2303可以固定,但是更换电脑后也会变化,可以借助沁恒家的一款串口一转多的工具,ch344或ch348,插到usb上后,虽然串口号变了,但是名字没有变(如下图),可以通过名字进行查找
python通过名字进行串口号确定的程序如下:
stim_serial_des = "USB-Enhanced-SERIAL-A CH344"
ble_serial_des = "USB-Enhanced-SERIAL-B CH344"
# 对应额串口号
ble_serial_com = None
stim_serial_com = None
def get_COM():
global ble_serial_com
global controller_serial_com
global stim_serial_com
# 找出所有的串口
ports = list(serial.tools.list_ports.comports(include_links=False))
# 打印所有的port
if not ports:
print("err: no port")
else:
# print("PC link all port:")
# for port in ports:
# print(port.description)
# print("------------------")
# 查找指定的串口
for port in ports:
# 查找蓝牙模块com
if port.description.find(ble_serial_des) != -1:
print("ble com find " + port.name)
ble_serial_com = port.name
# 查找刺激器com
elif port.description.find(stim_serial_des) != -1:
print("stim com find " + port.name)
stim_serial_com = port.name
# 串口已经找到
if ble_serial_com != None and stim_serial_com != None:
return (stim_serial_com, ble_serial_com)
else:
# 用户输入的端口不存在
print("err: port does not exist.")
return None
更多推荐
所有评论(0)