2016-03-25 35 views
1

Bilgisayarım ile Arduino arasında python ile seri hız testi yapmaya çalışıyorum (pyserial 3.0.1). Arduino Duemilanove'u (ATmega328) USB üzerinden Ubuntu VM'imle bağladım. Cihaz mükemmel bir şekilde gösterir ve ben arduino IDE (1.6.7) üzerinden bu basit döngü kroki ile parladı:python seri, arduino hız testine

void setup() { 
    Serial.begin(115200); 
} 

void loop() { 
    while(Serial.available()) { 
    Serial.write(Serial.read()); 
    } 
} 

Benim piton programı şöyle görünür:

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)) 

Sorun, öyle Bazen çalışır ve bazen python programı geri dönmez ve Ctrl-C'den çıkar. Eğer bu olursa arduino RX ve TX ledlerinin yanıp sönmesini göremiyorum.

Birisi bunun neden olduğunu biliyor mu?

cevap

0

Tamam draufundrann ... Ben "gerçek" (değil VM) Linux makine bölümüne geçtikten ve orada sadece iyi iş gibi görünüyor ... Çok teşekkür ederim. Daha fazla test yapacağım ve sonunda bu soruyu kapatacağım.

DÜZENLEME: Bu yüzden, bazen Ubuntu VM'de çalıştığını ve her zaman gerçek Linux Mint makinemle çalıştığını doğruladım. VM'yi kullanmam gerekmediğinden ve neden onun gerçekten çalışmadığı (umurumda değil, muhtemelen VM'nin bazı şeyleri) umurumda değil, bu soruyu kapatacağım.