欢迎访问宙启技术站
智能推送

使用serial.tools.list_portscomports()函数在Python中查找可用的串口端口

发布时间:2024-01-14 18:22:01

serial.tools.list_ports.comports() 函数可以用于列出当前系统上的所有可用串口端口。该函数返回一个包含可用端口信息的列表。每个端口信息都是一个名为"SerialPortInfo"的命名元组,其中包含以下字段:device、name、description、hwid、vid、pid。下面是一个查找可用串口端口并打印出相关信息的例子:

import serial.tools.list_ports

def find_serial_ports():
    # 列出系统上的所有可用串口端口
    ports = serial.tools.list_ports.comports()
    
    # 如果没有找到可用的串口端口
    if len(ports) == 0:
        print("No available serial ports found.")
        return
    
    # 打印可用串口端口的信息
    for port in ports:
        print("Device: ", port.device)
        print("Name: ", port.name)
        print("Description: ", port.description)
        print("Hardware ID: ", port.hwid)
        print("Vendor ID: ", port.vid)
        print("Product ID: ", port.pid)
        print("")
        
find_serial_ports()

运行上述代码,将会列出系统上所有可用的串口端口的相关信息。例如,输出可能类似于以下内容:

Device:  /dev/ttyACM0
Name:  /dev/ttyACM0
Description:  Arduino Uno (COM3)
Hardware ID:  USB VID:PID=2341:0043 SER=85530323831351407151 LOCATION=3-1
Vendor ID:  2341
Product ID:  43

Device:  /dev/ttyS0
Name:  /dev/ttyS0
Description:  ttyS0
Hardware ID:  
Vendor ID:  None
Product ID:  None

这个例子中使用了 serial.tools.list_ports.comports() 函数来查找可用的串口端口,并通过遍历找到的端口列表,打印出每个端口的相关信息,包括设备路径、名称、描述、硬件ID、供应商ID和产品ID。

注意:在不同的操作系统中,可用的串口端口的名称和相关信息可能会有所不同。在Windows系统中,串口端口通常以 "COM" 开头,而在Linux系统中,串口端口通常以 "/dev/tty" 开头。