Serielles Empfangen von Arduino auf Raspberry Pi mit PySerial Stoppt nach einer Weile

Arbeite ich an einem Projekt, in dem ich erhalten, einige 25-stelligen Daten um Sie zu verarbeiten, in Raspberry Pi. Hier ist der Beispiel-code erzeugt, dass einige Daten, die ich erhalten möchte vom Arduino:

char i =0;
char  a =0;
char b=0;


void setup(){

 Serial.begin(9600);
 for(i=0;i<25;i++){

    Serial.print('l');}
    Serial.print('\n');
    delay(2000);
}


void loop(){

 for(i=0;i<25;i++){
     for(a=0;a<i;a++){
      if((a==9)||(a==19)||(a==24))
          Serial.print('l');
      else
          Serial.print('d');   
     }
     for(b=0;b<25-i;b++){
          Serial.print('l');
     }


     delay(2000);
  }
}

Sendet er eine Zeile wie diese 'llllddddllldddd...' Diese Zeile 25 Zeichen Länge. Nun möchte ich diese mit einer Himbeer-Pi. Hier ist der code, den ich versuche zu arbeiten:

ser = serial.Serial('/dev/AMA0',9600,timeout=1)
ser.open()

try:
   serial_data = ser.readline()
   print serial_data
except serial.serialutil.SerialException:
   pass

Diesen code empfängt Daten sehr korrekt für etwa 5 Sekunden, und dann plötzlich Stoppt den Empfang.

Außerdem, wenn ich versuche im folgenden, bekomme ich keine Ausgabe oder Eingabe/Ausgabe-Fehler.

serial_data = ser.readline()
print serial_data

EDIT1:
Okay, kommentierte ich die Ausnahme jetzt. Es gibt die folgende Fehlermeldung:

 raise SerialException('device reporst rediness to read but returned no data (device disconnected?)')
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected?)

Was ist der richtige Weg, um zu erhalten einen 25-stelligen Daten vom arduino in raspberry über PySerial? Jede Hilfe wird die großartige geschätzt.

InformationsquelleAutor mozcelikors | 2013-11-20
Schreibe einen Kommentar