串口工具一般在插不同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
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐