Serielle Schnittstelle ansprechen ?

Alles rund um die Programmierung mit Qt
Antworten
ATT
Beiträge: 1
Registriert: 27. Januar 2006 11:21

Serielle Schnittstelle ansprechen ?

Beitrag von ATT »

Hallo !

Ich stehe vor folgendem Problem: Ich soll mit einem Gerät an der seriellen Schnittstelle kommunizieren. Quell- und Zielplattform ist Windows XP. Lieber als jede Art von MFC und Win32API würde ich gern QT verwenden. Die serielle Schnittstelle unter Windows anzusprechen ist leider nicht sonderlich einfach, aber es existiert eine exzellente LGPL-Klassenbibliothek von Ramon Klein:

http://home.ict.nl/~ramklein/Projects/Serial.html

Diese Klassenbibliothek ist ganz toll, benötigt aber Win32-Events oder MFC. Sowohl bei Win32-Events als auch bei MFC wird mir speiübel... :)

Ich habe mir gedacht, es muesste doch moeglich sein, den event-orientierten (Win32-) Ansatz von Ramon Klein in einen Slot-Signal-Mechanismus von QT zu portieren. Ich weiss nur nicht wie ich das angehen soll.
Hat vielleicht schon jemand dieses kleine serielle Library auf QT portiert?
Oder kann mir jemand Tips geben, wie dies am besten zu bewerkstelligen wäre? Ich kann mir nämlich nicht ganz vorstellen, daß ich Win32-Events gleichzeitig / nebenher mit QT-Signals-Slots verwenden kann, oder geht das doch ?

MFG
ATT
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Hiho,
Events von Windows abzufangen ist nicht kompliziert. Schau Dir mal QWidget::winEvent oder QCoreApplication::winEventFilter an.

Code: Alles auswählen

bool MyApp::winEvent ( MSG * message, long * result )
{
	switch (message->message)
	{
	case WM_NERVIGE_WINDOWS_MESSAGE:
		process();
                // Hier vielleicht ein Qt-Signal losschicken
		break;
	}
	return( false );
}
Um den seriellen Port anzusteuern würde ich mir an Deiner Stelle mal QExtSerialPort anschauen. Das Ganze gibts HIER.
Du solltest Dir aber unbedingt die aktuelle Version aus dem CVS holen, die funktioniert auch mit QT4.

Viel Spaß damit,
Sephral
Antworten