Probleme mit Half Duplex Comport
-
Hallo,
ich muss bei einem RS232<->RS485 Adapter gleich nach writefile entweder die DTR oder
die RTS Leitung umlegen, damit der Adapter auf Eingang steht und empfängt.
Mein Oszi verät mir aber, das ich nach Writefile bis zum realem Senden extrem lange
warten muss bis wirklich gesendet wurde. Mein Writefile (nicht overlapped)
verlässt jedoch viel früher den Aufruf und würgt mir durch meinen Umschaltvorgang
mit EscapeCommFunktion damit das gesendete signal in der Hälfte ab.
Ich nehme an, das liegt an einem Hardwarebuffer.
Ich habe versucht den hardwarebuffer zu flushen, brachte nichts.
Ich habe versucht den Buffer zu verkleinern mit setupcomm (0), das scheint aber
nur ein softwarebuffer von Windows zu sein.
Das WaitCommEvent auf leeren Buffer geht auch viel zu früh heraus, ich denke hier wird nicht der Hardwarebuffer gecheckt.Für die RTS Leitung würde es ein "RTS_CONTROL_TOGGLE" geben, das dies vom
Baustein her machen würde, aber nicht für die DTR Leitung
Specifies that the RTS line will be high if bytes are available for transmission. After all buffered bytes have been sent, the RTS line will be low.
Ausserdem würde ich gerne selber die Kontrolle haben und evtl. das Signal
mal auch invertiert ausgeben (es gibt viele dieser Adapter Versionen, würde
gerne alle unterstützen mit einem Optionendialog)**Kann mir jemand sagen wie man herausbekommt, wann die Hardware nach writefile
WIRKLICH gesendet hat?
**
Gruß
thenonameps. ähnliches hier ungelöst:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-136830-and-highlight-is-rtscontroltoggle-and-sid-is-1187ec1358cba99e634d47e19f7a0248.html