Lesen vom seriellen Port mit WinAPI & QT
-
Problemstellung:
Meine serielle Schnittstelle bekommt Daten von Sensoren, die ich auswerten will.
Meine Hauptapplikation basiert eigentlich hauptsächlich auf QT.
Da mir die QT-Klasse keine Möglichkeit bot auf die RS232 Schnittstelle zuzugreifen, musste ich auf eine externe Bibliothek(QextSerialPort) zurückgreifen.
Die wiederum hat Probleme, weshalb ich dauernd Pollen muss um zu gucken ob Daten vorliegen oder nicht.Aus diesem Grund wollte ich einen Teil in eine separate WinAPI Klasse auslagern, damit ich via SetCommMask und WeitCommEvent auf der Leitung horchen und bei vorliegenden Daten meine QT-Klassen informieren kann.
Daraufhin soll meine QT-Klasse von der Schnittstelle die Daten lesen/schreiben.
Die WinApi Klasse ist sozusagen eine Art Wächter.
Die Winapi-Klasse soll nur lesen (bewachen) und die QT-Klasse soll lesen und schreiben können, ohne sich gegenseitig zu stören.Die Anzahl der vorhandenen Sensoren bestimmt die Anzahl der (Worker) Threads in meiner Anwendung. Der Master-Thread, der Koordinator, bekommt die Daten von der Schnittstellte und leitet sie weiter an die Worker zur Auswertung.
PS.: Die RS232 Schnittstelle nutzt nur TX,RX und GND alles andere wurde auf GND gelegt.
Ist diese Überlegung umsetzbar?
Wo könnten Probleme auftreten?
Irgendwelche Tipps?Mein Beitrag ist etwas gemischt etwas WinAPI, etwas QT etc...
Daher war ich mir nicht sicher wo ich es erstellen sollte.