Linux serielle Schnittstelle

Gast #768423
Hallo,

ich versuche unter Linux mithilfe des angefügten Programms
Daten von einem Micro zu empfangen.

Der Micro uebertraegt zunaechst die Laenge (### llll\n) und danach 
binaer
die llll Bytes. Leider emfange ich stets zuwenig Daten.

Was auffaellt ist, dass in den uebertragenen Daten alle
Bytes 0x0d,0x11 und 0x13 fehlen.

Mit jedem Terminalprogramm (seyon, oder Win-Hyperterminal) klappt die
Uebertragung problemlos.

Daher denke ich, dass ich bein den Einstellungen der Schnittstelle einen
Feher mach, kann jemand bitte einmal einen Blick darauf werfen ?

Gruss
       horst.
Angehängte Dateien:
#768447
0x0d ist Carriage return, 0x11 ist XON und 0x13 ist XOFF. Bei letzteren 
beiden muss man das Software-Handshaking abschalten, damit sie mit 
übertragen werden.
Generell ist es aber besser, die Übertragung per X-Modem etc. zu 
realisieren oder die Daten in Hex-Chars zu konvertieren und dann zu 
übertragen. Ich bevorzuge letztere Methode, da so die Daten zwecks 
Fehlersuche noch einigermassen lesbar sind.

Gruß Jörg
Gast #768453
Hallo Jörg,

da ich im raw-Modus empfange, ging ich davon aus, das cr,lf
?? >options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);<
uebertragen wird.

Welche option schaltet das xon/xoff ab ?

Gruss
       horst.
Gast #768462
Probier mal folgendes nach tcgetattr:

options.c_iflag = 0;
options.c_oflag = 0;
options.c_lflag = 0;

Ich hoffe das hilft Dir weiter.
Ansonsten mal auf die man-pages schauen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.