Hallo,
ich bin mal wieder heiss am programmieren und will die serielle Schnitstelle bedienen - vielleicht wird das ja sogar mal ein richtig nettes QSerialDevice oder so.
Ok, ich kann schon eine ganze Menge ... also lesen, schreiben usw. Die Frage ob und wann ich Daten holen bzw. schicken kann, soll mir das ganze natuerlich ueber Signale signalisieren. Kein Problem mit dem QSocketNotifier - unter Linux, aber ueber Windoofs wollen wir mal nicht reden - da bruache ich einen fuer Lesen, einen fuer Schreiben!
Ich habe da ein Protokoll einzuhalten, welches auf ziemlich krassem Quittungsverkehr besteht (SECS I) ... etwa so: Ich will was senden: ENQ ... warten mit timeout Empfaenger kann: EOT Ich sende Daten: DATEN ... warten mit timeout Empfaneger hats (nicht) ACK (NAK)
Das Problem sind nun diese timeouts. Diese sind als Zeit zwischem dem Senden des letzten Bytes und der Antwort definiert. Das Senden des letzten Bytes kann aber von dem Zeitpunkt, an dem ich die Daten in die Schnittstelle gepumpt habe stark abweichen.
Was ich nun aber gerne wissen wuerde, ist der Zeitpunkt, an dem der Sendepuffer der Schnittstelle _leer_ ist. Ueber den SocketNotifier bekomme ich nur raus, wann Platz im Sendepuffer ist.
Ein QSocketNotifier kann man nun aber auch fuer Exceptions ansetzen. Weiss zufaellig jemand, was fuer Exceptions von einer seriellen Schnittstelle erzeugt werden und wie man diese auseinanderhalten / behandeln kann ???
Danke,
Karl-Heinz Fandrey TRW EI Development AMD Saxony Manufacturing GmbH - Fab 30 01109 Dresden, Wilschdorfer Landstrae 101 Phone: +49 351 277 1649 Fax: +49 351 277 5903 E-mail: karl-heinz.fandrey@amd.com