Mic*_*ter 8 python serial-port
当我试图在Arduino上读取多行串行数据时,我使用以下习语:
String message = "";
while (Serial.available()){
message = message + serial.read()
}
Run Code Online (Sandbox Code Playgroud)
在Arduino C中,Serial.available()返回可从串行缓冲区读取的字节数(参见文档).python中的等价物是Serial.available()什么?
例如,如果我需要读取多行串行数据,我希望使用以下代码:
import serial
ser = serial.Serial('/dev/ttyACM0', 9600, timeout=0.050)
...
while ser.available():
print ser.readline()
Run Code Online (Sandbox Code Playgroud)
Rob*_*obᵩ 10
该属性Serial.in_waiting返回"接收缓冲区中的字节数".
这似乎相当于Serial.available()'s description:"字节数......已经到达并存储在串行接收缓冲区中."
尝试:
import serial
ser = serial.Serial('/dev/ttyACM0', 9600, timeout=0.050)
...
while ser.in_waiting: # Or: while ser.inWaiting():
print ser.readline()
Run Code Online (Sandbox Code Playgroud)
对于pyserial 3.0之前的版本,请使用.inWaiting().要确定您的pyserial版本,请执行以下操作:
import serial
print(serial.__version__)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32452 次 |
| 最近记录: |