不行,试过了,data = ser1.read(ser1.in_waiting)读出来的是空的
时间: 2024-03-20 18:44:45 浏览: 53
Python实现串口通信(pyserial)过程解析
如果 `ser1.read(ser1.in_waiting)` 返回的是空的,可能是因为 COM1 还没有发送数据,或者是因为数据还没有完全到达。您可以尝试在读取数据之前先休眠一段时间,等待数据到达。例如:
```python
import serial
import time
ser1 = serial.Serial('COM1', baudrate=9600, timeout=1)
ser2 = serial.Serial('COM2', baudrate=9600, timeout=1)
while True:
# 等待一段时间,等待数据到达
time.sleep(0.1)
# 从 COM1 读取数据
data = ser1.read(ser1.in_waiting)
if data:
# 将数据写入 COM2
ser2.write(data)
```
在这个示例代码中,我们使用 `time.sleep(0.1)` 来等待一段时间,让数据有足够的时间到达。如果您的数据到达速度比较慢,您可能需要增加等待时间。另外,请确保您的串口连接正确,包括波特率、数据位、停止位、奇偶校验等设置。
阅读全文