[LUGA] Mit freundlicher Unterstützung von:
WSR

Mail Thread Index


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AW: [luga] EOF bei seriellen Verbindungen



Bei 8n1 gibt es ja auch Kombinationen die kein gültiges Zeichen ergeben. Zb. Parity error oder ich glaub es gab auch was wie ein Break u.Ä. Eventuell erkennt der UART sowas und der Treiber interpretiert dies als close() ?

Mal in der Doku zum UART nachschauen?

Lg Robert

Von: Bernd Petrovitsch
Gesendet: ‎03.‎04.‎2017 14:10
An: luga@luga.at
Betreff: [luga] EOF bei seriellen Verbindungen

Hi all!

Ich hab eine gewöhnliche serielle Schnittstelle auf /dev/tty17 (oder
so) mit gewöhnlichen 16550a dahinter (das sind so Chips mit 4 Stk.
jeweils drauf). Die werden im /etc/rc.local mit `setserial`
konfiguriert.

$PROGRAMM macht /dev/tty17 mit open() auf (mit O_NONBLOCK) und
konfiguriert Baud-Rate (4800), 8N1, keine Flow-Control (weil keine
Leitungen für HW-Flow-Control und keine Intelligenz auf der anderen
Seite für Xon/Xoff - es macht i.Ü. auch applikativ keinen Sinn - 8 Byte
alle halben Sekunden in die eine Richtung, 15 Byte alle Sekunden in die
andere Richtung).

Dann hängt der Filedescriptor im select() und ggfs. wird - mit read() -
gelesen was daher kommt (bzw. auch geschrieben - auch über select() und
non-blocking write()s - da passieren auch keine Fehler o.ä.).

Allerdings kommt da gelegentlich auch schon mal EOF daher.
Nur wie soll das bei einer primitiven seriellen Schnittstelle überhaupt
passieren können?

Die seriellen Leitungen sind BTW hard-wired, d.h. "abstecken",
"anstecken" o.ä. als solches geht nicht/gibt es nicht.
Und das andere Ende ist auch garantiert aktiv/lebt und liest bzw.
schreibt drauf (ja, das wurde explizit mitgesnifft).

MfG,
Bernd

PS: Die "Lösung" des Problems ist, daß der Filedescriptor ge-close()-d
    und - s.o. - neu aufgemacht wird.
--
Bernd Petrovitsch                  Email : bernd@petrovitsch.priv.at
                     LUGA : http://www.luga.at


powered by LINUX the choice of a gnu generation
linux user group austria;
Suche
Suche
Letzte Änderung:
webmaster@luga.at
April 2017