GPS Daten via Serielle Verbindung auf Windows CE
lima-city → Forum → Programmiersprachen → C/C++ und D
ablegen
alpha
ausprobieren
ausweichen
datei
datum
display
gelegenheit
interner puffer
kommunikation
null
port
programm
punkt
quellcode
seriellen port
signal
sport
steuerung
windows
-
Hi,
seit einigen Tagen versuche ich ein Programm zu schreiben, mit dem ich auf meinem Windows Mobile Gerät den internen GPS-Port auslesen kann. Leider habe ich es immer noch nicht geschafft. Ich habe es mit CSerial und mit CreateFile(L"\\\\.\\COM4", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL) versucht. Beide mal erfolglos. CSerial ließ sich nicht compilieren und CreateFile gibt mir immer den INVALID_HANDLE_VALUE zurück
Ich wollte eben ein kleines Programm haben, dass mir in einem Thread Daten vom Seriellen Port holt und sie in eine Text-Datei schreibt.
Ziel des Ganzen soll eine QT-APP werden, die GPS-Daten ausließt und via REGEX für mich relevante Daten auf dem Display anzeigt. Funktionieren soll das Ganze eben erst mal auf einem Windows CE 5.0 Gerät und später auf einem Windows Phone 6.5 Gerät.
Gruß zyclop -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wieso so unnötig schwer?
Nimm einfach das .Net Compact Framework und du wirst genug Zeit für anderes haben, weil es einfach ratz-fatz funktioniert.
Habe selber schon Programme für PDAs geschrieben, welche die serielle Schnittstelle nutzen, daher kann ich dir diese Methode nur wärmstens empfehlen -
Ich wollte eben weg von .NET zum einen wegen der Plattformunabhängigkeit, die ich mit C++ und Qt erreiche und zum Anderen, weil der SerialPort im .NET Framework schon des öfteren Probleme gemacht hatte und ich sowieso auf andere Lösungen ausweichen musste. Das beste Beispiel war bei uns auf Arbeit, da hat der .NET SerialPort unsere ganze Software Lahmgelegt, weil ein interner Puffer vollgelaufen ist.
Punkt 3 und das ist mit unter der Wichtigste, das .NET Framework ist auf Windows CE 5.0, zumindest auf dem Gerät, für das ich entwickle extrem langsam, was die Grafik angeht. Es soll schließlich nicht nur dabei bleiben GPS Daten anzuzeigen, sondern das Programm soll später och viel mehr können und GPS ist der kleinste Teil. -
Hi, ist dir qextserialport ein Begriff?
Is ne qt-klasse für Kommunikation mit Serieller Schnittstelle:
http://qextserialport.sourceforge.net/
mfg
-
coole Sache, kann ich die einfach in mein konfiguriertes Qt-Bild integrieren? Oder muss ich die mitcompilieren?
-
Hi, is schon was her, hab nochma ein Beispiel ausgegraben (QtCreator):
Das Programm erlaubt die Steuerung eines Greifers (über virtuellen serial port angesprochen)
über Ethernet. Hier ein paar Auszüge aus dem Quellcode:
in pro datei:
...
INCLUDEPATH += C:\Qt\qextserialport-1.2win-alpha-patched
LIBS += -LC:\Qt\qextserialport-1.2win-alpha-patched\build
CONFIG(debug, debug|release):LIBS += -lqextserialportd
else:LIBS += -lqextserialport
...
Dann einfach sowas wie:
(header)
...
#include "qextserialport.h"
...
private:
QextSerialPort * sport;
(cpp)
sport = new QextSerialPort("COM3", QextSerialPort::EventDriven);
sport->setBaudRate(BAUD9600);
...
sport->setStopBits(STOP_1);
sport->open(QIODevice::ReadWrite);
connect(sport, SIGNAL(readyRead()), this, SLOT(serialReadyRead()));
...
War glaubich keine "out-of-the-box" Lösung, musste nochma googeln, evtl nochma neu kompilieren.
Viel Erfolg
-
Okay, vielen Dank.
Vielleicht als kleine Anmerkung, ich benutze Visual Studio 2008 und habe mir eben ein Qt-build für wince50standard-msvc2008 erstellt. Wenn ich jetzt den QextSerialPort da einfach mit ablegen kann und ihn verwenden kann, dann hab ich alles, was ich brauche. Werde es bei gelegenheit noch ausprobieren und hoffe auf weitere Antworten, Ratschläge und Infos von euch :-) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage