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
On Thu, 13 Apr 2000, did karl-heinz.fandrey@amd.com mean:
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.
[cut]
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.
Soweit ich weiss senden serielle Schnittstellen ihre Daten sofort raus. Das QSerialDevice sollte also herausbekommen, wann alles durch 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 ???
Ich denke diese Funktionalitaet gehoert ins Device statt in den Notifier. Ansonsten siehe Doku von Qt und dessen Sourcen... ;-)
Konrad
lug-dd@mailman.schlittermann.de