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

串口通信:使用serial.tools.list_ports.comports()函数获取可用串口列表

发布时间:2024-01-13 17:43:52

串口通信是一种常见的电脑与外部设备进行数据传输的方式。在Python中,可以使用pyserial库来进行串口通信。其中,serial.tools.list_ports.comports()函数可以用于获取可用串口列表。接下来,将详细介绍该函数的使用方法,并给出一个使用示例。

1. 导入必要的模块:

import serial.tools.list_ports

首先,我们需要导入serial.tools.list_ports模块。

2. 调用comports()函数获取可用串口列表:

ports = list(serial.tools.list_ports.comports())

使用comports()函数可以获取当前系统中所有可用的串口信息,并将其存储在一个列表中。

3. 遍历串口列表并打印信息:

for port in ports:
    print("串口名称:", port.device)
    print("供应商ID:", port.vid)
    print("产品ID:", port.pid)
    print("串口描述:", port.description)
    print("设备路径:", port.device_path)
    print("
")

通过遍历串口列表,我们可以获取每个串口的设备名称、供应商ID、产品ID、描述信息和设备路径等相关信息。

下面是一个完整的例子,展示了如何使用serial.tools.list_ports.comports()函数来获取可用串口列表:

import serial.tools.list_ports

def main():
    # 获取可用串口列表
    ports = list(serial.tools.list_ports.comports())

    if len(ports) == 0:
        print("没有找到可用串口!")
    else:
        for port in ports:
            print("串口名称:", port.device)
            print("供应商ID:", port.vid)
            print("产品ID:", port.pid)
            print("串口描述:", port.description)
            print("设备路径:", port.device_path)
            print("
")

if __name__ == '__main__':
    main()

运行结果类似以下:

串口名称: COM1
供应商ID: 0001
产品ID: 0002
串口描述: 串口 COM1
设备路径: \\.\COM1

以上便是使用serial.tools.list_ports.comports()函数获取可用串口列表的方法和一个使用示例。根据具体的应用场景,可以进一步使用pyserial库来进行串口的打开、读取和写入等操作。