1
我想在我的电脑和Arduino之间用python(pyserial 3.0.1)进行串行速度测试。我通过USB与我的Ubuntu VM连接了Arduino Duemilanove(ATmega328)。该器件完全显示出来,我通过阿尔杜伊诺IDE(1.6.7)用这个简单的环回草图闪蒸它:蟒蛇串行到arduino速度测试
void setup() {
Serial.begin(115200);
}
void loop() {
while(Serial.available()) {
Serial.write(Serial.read());
}
}
我的Python程序看起来像这样:
from __future__ import print_function
import time
import serial
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate=115200,
timeout=1
)
i = 0;
#wait until bootloader finished
time.sleep(2)
try:
t0 = time.time()
while i < 1000:
ser.write(b'U')
ser.flush()
while ser.in_waiting <= 0:
pass
ret = ser.read(1)
if ret != 'U':
print("Error received: %s" % ret)
i += 1
t1 = time.time()
except KeyboardInterrupt:
ser.close()
exit(1)
ser.close()
print("%.3f" % (t1-t0))
的问题是,它有时工作,有时python程序不会返回,我不得不Ctrl-C。如果发生这种情况,我看不到Arduino RX和TX LED闪烁。
有人知道为什么会发生这种情况吗?
非常感谢您...... draufundrann