Hallo, ich habe mir eine Port-Klasse geschrieben, die einen Com-Port am PC bedient. Die Interaktion erfolgt dabei im POSIX-Stil mit den Methoden read, write, ioctl usw. Damit die Kommunikation nicht von der Ausführungsgeschwindigkeit des MFC-Dialogs (Visual C++) abhängt, habe ich die Klasse so implementiert, dass im Konstruktor ein AfxBeginThread ausgeführt wird. Dieser Thread kommuniziert dann über zwei Daten-Queues und einem "Steuerungsstruct" (Events, CriticalSections, etc.) mit der Port-Klasse. Wenn das Objekt dann letztlich gelöscht wird, beendet der Destruktor auch den Thread und wartet bis dieser sich beendet hat. Den Zugriff auf gemeinsame Objekte (z.B. die Rx/Tx-Queue) habe ich mit einer CriticalSection synchronisiert. Es funktioniert alles, am Oszi kommen die Bytes sauber rausgetickert und bei gebrückter RX/TX-Leitung "hört" sich der Port auch selbst. Bevor ich darauf aufbauend jedoch weitere Konstrukte implementiere, wollte ich fragen, ob das oben genannte einen guten Stil darstellt oder ob ich einige grobe Designschnitzer begangen habe, die mir später Probleme bereiten werden? Habe da noch nicht so die Erfahrungswerte... vielleicht kann mir das jemand sagen ob gut oder schlecht und wenn schlecht wie eine gute Alternative aussieht. Vielen Dank!
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.