私は自分のコンピュータとPython(pyserial 3.0.1)のArduinoとの間でシリアル速度テストをしようとしています。私はArduino Duemilanove(ATmega328)をUSB経由で私のUbuntu VMに接続しました。デバイスが完全に現れて、私はのArduino IDE(1.6.7)を介して、この単純なループバックスケッチとそれを点滅:pythonシリアルto 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が点滅しているのを見ることができません。
誰かがこれがなぜ起こるか知っていますか?
は、[OK]を...私は私の「本当の」(ではないVM)のLinuxマシンに切り替え、あそこだけで正常に動作するようです