python遍历所有COM串口,判断哪个串口号有数据,并不断获取数据
时间: 2023-12-06 22:45:21 浏览: 89
串口采集数据
可以使用Python的`serial`库来实现串口的读取和遍历。以下是一个示例代码,用于遍历所有COM串口并监测其中哪个串口有数据,并不断获取数据:
```python
import serial.tools.list_ports
import serial
# 获取所有串口
ports = list(serial.tools.list_ports.comports())
print("Available ports:")
for p in ports:
print(p)
# 遍历所有串口
for p in ports:
try:
# 打开串口
ser = serial.Serial(port=p.device)
print("Reading data from", ser.name)
# 读取串口数据
while True:
data = ser.readline()
if data:
print(data)
except serial.SerialException:
pass
```
在上面的代码中,我们首先使用`serial.tools.list_ports.comports()`函数获取所有可用的COM串口。然后,我们使用`serial.Serial()`函数打开每一个串口,并使用`readline()`函数读取串口数据。如果读取到了数据,我们就打印出来。需要注意的是,在使用`serial.Serial()`打开串口时,需要传入串口的设备名称(例如`COM1`)而非端口号(例如`1`)。
阅读全文