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

Python中如何使用serial.tools.list_portscomports()函数来检测可用的串口

发布时间:2024-01-14 18:19:28

在Python中,可以使用serial.tools.list_ports.comports()函数来检测可用的串口。该函数返回一个生成器对象,可以用于迭代并获取每个可用串口的信息。

下面是一个使用serial.tools.list_ports.comports()函数的例子:

import serial.tools.list_ports

# 获取可用的串口列表
ports = serial.tools.list_ports.comports()

# 打印每个串口的信息
for port in ports:
    print('端口名:', port.device)
    print('描述:', port.description)
    print('硬件ID:', port.hwid)
    print('设备:', port.device)
    print('序列号:', port.serial_number)
    print('制造商:', port.manufacturer)
    print('产品:', port.product)
    print('')

# 使用指定的串口配置实例化Serial对象
# 这里以Linux系统为例,使用/dev/ttyUSB0作为串口
ser = serial.Serial('/dev/ttyUSB0', 9600)

# 向串口发送数据
ser.write(b'Hello World!')

在上述例子中,serial.tools.list_ports.comports()函数返回了一个生成器对象,可以用于迭代获取每个可用串口的信息。通过for port in ports循环,可以依次获取每个可用串口的信息并打印出来。

此外,该例子还展示了如何使用serial.Serial()类实例化一个Serial对象,并向串口发送数据。根据不同的操作系统,串口的名称可能会有所不同。

注意,为了正确运行该例子,需要先安装PySerial库。可以使用以下命令安装PySerial库:

pip install pyserial

需要注意的是,在使用serial.Serial()类实例化Serial对象时,需要提供合适的串口名称(例如在Linux系统中是/dev/ttyUSB0)以及波特率(例如9600)。此外,还可以通过其他参数配置串口的其他属性,如数据位、停止位、校验位等。具体详情请参考PySerial库的文档。