1 Sekunde delay bei UART

  • Moin moin,

    Ich bin dabei über Uart daten in meinen Pi einzulesen. Die Daten ( Zeit in Binär) doch die Daten die ich über serial.read() bekomme sind genau 1 Sekunde Zeitverschoben.

    Noch zu sagen ist das jede Sekunde ein 2 Bytes reinkommen, doch wie schon gesagt wenn ich die eingelesenen Daten über print Ausgebe ist genau eine Sekunde Delay drin.

    Hat jemand ne Idee woran das liegt??

  • Hier mein code :

    Wenn ich die Eingangsdaten bei cutecom oder minicom teste kommen sie ohne delay an.

  • Servus,

    ich hab' zwar keine Ahnung von Python ( und werde das auch nicht ändern ;) ... ) ...
    Aber ist das nicht so, dass Du durch die Schleife erstmal so lange auf weitere Zeichen wartest, bis der Timeout ( 1 Sek ) abgelaufen ist?
    Dadurch ergibt sich logischerweise die Verzögerung ...
    Gib' die Zeichen mal direkt in der Schleife aus ...


    cu,
    -ds-

  • So,
    Ich weiß jetzt wo die sekunde entsteht :

    in wenn ich den buffer printen lasse sind alle daten richtig, bei data ist 1 sek delay drin.

    nur weiß ich nicht woher sie kommt und wie ich sie verhindere.
    Automatisch zusammengefügt:
    Nochmal zur verdeutlichung was ich vorhabe:

    Es kommen immer drei Bytes pro sekunde über UART an.
    Wenn ich x ausgebe, sind in der Konsole 3 Zeilen mit den einzelnen Bytes.

    Und bis jetzt habe ich keinen Weg gefunden die Bytes in einzelne Variablen zu packen.

    Einmal editiert, zuletzt von Jinzo48 (7. August 2016 um 13:11)

  • Habe die Lösung :

    Ich hatte stehen "x = ser.read()"

    Da pro sekunde 3 Bytes kommen muss in den Klammern eine 3 stehen...

    machmal kann das Leben so einfach sein...

    Einmal editiert, zuletzt von Jinzo48 (7. August 2016 um 18:44)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!