Hallo, ich würde gerne meine PC-RS232-Software perfektionieren. Aber ich komme an folgender Stelle nicht wirklich weiter. Mein Atmelaufbau versendet asynchron Strings über die RS232. Meine PC Software soll diese Strings auf einem Logfenster darstellen. Meine Strategie ist momentan das ich alle 50ms den PC-RX-Buffer auslese ob er Daten enthält oder nicht. Aber genau hier ist auch das Problem. Ich finde in VB.Net keine elegante Möglichkeit diesen Rx-Buffer auf Inhalt zu überprüfen. Momentan rufe ich die Read-Funkion mit Timeout-Überwachung auf. Ist kein Inhalt im RX-Buffer dann wird eine Exception geworfen die ich auffange... Funktioniert zwar, ist aber total bescheuert. Kann mann nicht irgenwie vor dem RX-Buffer lesen, die Anzahl der Daten im RX-Buffer auslesen. Anzahl == 0 dann nicht lesen. Anzahl != 0 lesen. Das muss doch irgendwie gehen. Vielen Dank schon mal, Sebastian
Gibts denn unter VB keine Threads, die nach sowas "im Hintergrund" schauen können? Und dann halt eine Message an das Hauptprogramm schicken. So mach ich das zumindest in VC++, mit der SerialPort Klasse von CodeGuru.
>Funktioniert zwar, ist aber total bescheuert. stimmt das ist es, besonders da das Objekt die Anzahl liefert, man müßte halt nur mal in der MSDN nachlesen. http://msdn2.microsoft.com/de-de/library/system.io.ports.serialport_members(VS.80).aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.