使用Python的serial.tools.list_ports.comports()函数自动检测可用的串口
发布时间:2024-01-13 17:44:33
Python的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("设备:", port.hwid) # 输出设备
print("-----------")
上述代码将列出所有可用的串口名称、描述和设备。
另外,serial.tools.list_ports.comports()函数还接受一个可选的参数include_links,用于控制是否包括串口的符号链接,默认为False。
# 包括符号链接的可用串口 ports = serial.tools.list_ports.comports(include_links=True)
除了上述代码中的基本用法之外,serial.tools.list_ports.comports()函数还支持其他一些可选参数,例如:
- baudrate:指定波特率。只返回支持指定波特率的端口。
- timeout:指定超时时间(以秒为单位)。只返回在指定时间内响应的端口。
- write_timeout:指定写超时时间(以秒为单位)。只返回在指定时间内写入成功的端口。
要使用这些参数,只需将它们作为关键字参数传递给函数:
# 返回支持指定波特率的串口 ports = serial.tools.list_ports.comports(baudrate=9600) # 返回在1秒内响应的串口 ports = serial.tools.list_ports.comports(timeout=1) # 返回在1秒内成功写入的串口 ports = serial.tools.list_ports.comports(write_timeout=1)
总结:
以上是使用Python的serial.tools.list_ports.comports()函数自动检测可用的串口的示例。该函数返回一个包含串口名称、描述和设备的列表,可以通过遍历列表来获取每个串口的详细信息。还可以使用可选参数来限制返回的串口,例如指定波特率、超时时间等。
