Python代码示例:自动识别并连接USB串口设备
发布时间:2023-12-16 03:18:35
以下是一个Python代码示例,用于自动识别和连接USB串口设备,并附带一个使用例子。代码使用了pyserial库来实现串口通信。
import serial.tools.list_ports
import time
# 自动识别并连接USB串口设备
def connect_usb_serial():
# 获取所有可用的串口设备
ports = list(serial.tools.list_ports.comports())
if len(ports) == 0:
print("没有找到可用的串口设备!")
return None
# 遍历所有串口设备,查找USB串口设备
for port in ports:
if "USB" in port.description.upper():
try:
# 打开串口设备
serial_device = serial.Serial(port.device)
print("成功连接到USB串口设备:" + port.device)
return serial_device
except:
print("无法连接到串口设备:" + port.device)
print("没有找到USB串口设备!")
return None
# 使用例子,从USB串口设备读取数据并输出
def example_usage():
serial_device = connect_usb_serial()
if serial_device is None:
return
try:
# 设置串口参数
serial_device.baudrate = 9600
serial_device.bytesize = serial.EIGHTBITS
serial_device.parity = serial.PARITY_NONE
serial_device.stopbits = serial.STOPBITS_ONE
while True:
if serial_device.in_waiting > 0:
# 从串口读取数据
data = serial_device.readline().decode().strip()
print("收到数据:" + data)
except KeyboardInterrupt:
# 用户按下Ctrl+C时停止程序运行
print("程序已停止")
finally:
# 关闭串口设备
serial_device.close()
print("已关闭串口设备")
# 运行使用例子
example_usage()
运行该代码,它将自动识别并连接USB串口设备,然后从串口设备读取数据并输出。你可以根据实际需求修改串口参数以及处理数据的逻辑。
注意:在运行代码之前,确保已安装pyserial库。可以使用以下命令安装pyserial库:
pip install pyserial
希望以上示例对你有所帮助!
