|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 10.06.2006, 21:36 Titel: GPS-Maus- Daten auslesen |
|
|
Hallo zusammen,
ich habe da so ein Problem.
Ich habe eine GPS Maus "mit USB Schnittstelle".
In der GPS Maus befindet sich ein Sirf2 Chip.
Nachdem alle Treiber installiert sind, wird ein neuer Anschluss in der Windows -Umgebung hinzugefügt.
Dieses nennt sich dann Prolific USB to seriell Com Port (COM 4).
Es werden insgesamt 9600 Bits/sec gesendet.
Datenbits = 8
Stoppbits = 1
Flusssteuerung = keine
Nun ist meine Frage, wie kann ich die Daten, welches sich NMEA Protokoll nennt empfangen?
Alle Zeichen sind im ASCI2 Format.
Ich wollte die Datenpakete, welche ja unterschiedlich sind, eigendlich dann in sepperate Textdateien speichern.
Zudem wollte ich diese Textdateien je nachdem was ich machen will unterschiedlich auswerten.
Ausgewertet sollte es dann mit php Werten, mit dem ich dann schöne Grafiken von meiner Fahrrute aufzeichnen will.
Cu Andy |
|
Nach oben |
|
|
Sebastian Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 10.06.2006, 22:17 Titel: |
|
|
Wie meinst du das. |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 11.06.2006, 07:41 Titel: |
|
|
Hyperterminal ist ein Programm das zu Windows gehört.
Das kannst du einfach mal starten, die Einstellungen machen und sehen was kommt.
Wenn du Hyperterminal nicht hast, hilft vielleicht dieses QBasic Programm:
Code: | DEFINT A-Z
DECLARE SUB Filter (InZeichKett$)
COLOR 7, 1 ' Setze Bildschirmfarbe.
CLS
Ende$ = CHR$(0) + CHR$(48) ' Von INKEY$ angegebener
' Wert, wenn Alt+b bet„tigt
' wird.
' Gib Anfrage in unterster Bildschirmzeile aus und
' schalte den Cursor ein:
LOCATE 24, 1, 1
PRINT STRING$(80, "_");
LOCATE 25, 1
PRINT TAB(30); "Dr?cke Alt+b zum Beenden";
VIEW PRINT 1 TO 23 ' Ausgaben zwischen den Zeilen 1
' & 23.
' Er”ffne Kommunikation (9600 Baud, keine Parit„t,
' 8-Bit f?r Daten, 1 Stopbit, 256-Byte
' Eingabepuffer):
OPEN "COM1:9600,N,8,1" FOR RANDOM AS #1 LEN = 256
DO ' Hauptschleife der Daten?bertragung.
TastEingab$ = INKEY$ ' šberpr?fe Tastatur.
IF TastEingab$ = Ende$ THEN ' Verlasse die
' Schleife, wenn der
' Benutzer Alt+q
EXIT DO ' bet„tigt hat.
ELSEIF TastEingab$ <> "" THEN ' Andernfalls, wenn
' der Benutzer eine
' Taste bet„tigt hat,
' sende das einge-
PRINT #1, TastEingab$; ' tippte Zeichen zum
END IF ' Modem.
' šberpr?fe das Modem. Wenn Zeichen warten (EOF(1)
' ist wahr), hole diese und gib sie auf den
' Bildschirm aus:
IF NOT EOF(1) THEN
'LOC(1) gibt die Anzahl der wartenden Zeichen an:
ModemEingab$ = INPUT$(LOC(1), #1)
Filter ModemEingab$ ' Filtere Zeilenvorsch?be
' und R?ckschritte aus,
PRINT ModemEingab$; ' schreibe dann.
END IF
LOOP
CLOSE ' Ende der Daten?bertragung.
CLS
END
'
' ===================== FILTER =======================
' Filtert Zeichen einer eingegebenen Zeichenkette
' ====================================================
'
SUB Filter (InZeichKett$) STATIC
' Suche nach R?ckschrittzeichen (CHR$(8)) und
' kodiere diese in CHR$(29) um (die Cursor-Taste
' nach links):
DO
RueckSchr = INSTR(InZeichKett$, CHR$(8))
IF RueckSchr THEN
MID$(InZeichKett$, RueckSchr) = CHR$(29)
END IF
LOOP WHILE RueckSchr
' Suche nach Zeilenvorschubzeichen (CHR$(10)) und
' entferne alle gefundenen:
DO
ZeilVor = INSTR(InZeichKett$, CHR$(10))
IF ZeilVor THEN
InZeichKett$ = LEFT$(InZeichKett$, ZeilVor - 1) + MID$(InZeichKett$, ZeilVor + 1)
END IF
LOOP WHILE ZeilVor
END SUB |
Edit://
Wobei das Programm ja nur Com1 und Com2 ansprechen kann.
Das könnte noch zum Problem werden. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 11.06.2006, 13:35 Titel: |
|
|
ich bekomme andauernt Laufzeitfehler mit dem Programm |
|
Nach oben |
|
|
Michael Frey
Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 11.06.2006, 14:43 Titel: |
|
|
1) Welches Programm?
2) Welche Laufzeitfehler?
3) Betriebssystem?
Wenn du von dem Programm redest, das ich gepostet habe (stammt übrigens von Microsoft) ist der Fehler wahrscheinlich die Falsche Comportnummer.
Das Programm kann nur Com1 oder Com2 ansprechen, und das wird in dieser Zeile eingestellt:
Code: | OPEN "COM1:9600,N,8,1" FOR RANDOM AS #1 LEN = 256 |
Da dein Gerät aber Com4 belegt, wird das ansprechen über QBasic sowieso schwierig. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|