INFO - FAQ - CC2-Forum - CCPro-Forum |
Ich habe einen neuen erfolglosen Versuch gestartet. So sollte ein Datensatz ungefähr aussehen (er ist im Moment recht kurz, da der Empfänger im Keller keinen Empfang hat): $GPGGA,000107,,N,,E,0,00,,,M,,M,,*6B $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00,,,,,,,,,,,,,,,,*79 $GPRMC,000107,V,,N,,E,,,010303,,,N*5F Diese 4 Zeilen werden jede Sekunde gesendet. Diese 4 Zeilen habe ich mit dem GPS-Empfänger am Micro-Evaluation-Board zum PC übertragen und mit Hyperterminal angezeigt. Folgender Versuch klappt auch nicht: define TXPORT port[1] define RXPORT port[2] define LIGHT port[16] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- '- FIXED INTERFACE BUFFER - define SERIALBYTE byte[1] define BAUDRATE byte[2] '-- SYSTEM ROUTINEN ------- define PUTBYTE &HFD30 define GETBYTE &HFD03 define i byte[3] ' --------- SYS INIT -------- TXPORT=off LIGHT=off BAUDRATE=182 ' 182 4800 baud zum GPS-Empfänger print"#ON_LCD#"; ' Umleitung einschalten print"#INIT#"; ' LCD initialisieren print"#CLR#"; print"#L101#"; print "Warten auf Start"; print"#L201#"; print "und speichern "; print"#OFF#"; open# for write for i = 1 to 30 sys getbyte print# serialbyte next i close# print"#ON_LCD#"; ' Umleitung einschalten print"#CLR#"; print"#L101#"; open# for read for i = 1 to 15 input# serialbyte gosub decode next i print"#L201#"; for i = 1 to 15 input# serialbyte gosub decode next i end #decode if serialbyte = 48 then print "0"; if serialbyte = 49 then print "1"; if serialbyte = 50 then print "2"; if serialbyte = 51 then print "3"; if serialbyte = 52 then print "4"; if serialbyte = 53 then print "5"; if serialbyte = 54 then print "6"; if serialbyte = 55 then print "7"; if serialbyte = 56 then print "8"; if serialbyte = 57 then print "9"; if serialbyte = 65 then print "A"; if serialbyte = 71 then print "G"; if serialbyte = 68 then print "D"; if serialbyte = 83 then print "S"; if serialbyte = 80 then print "P"; if serialbyte = 90 then print "Z"; if serialbyte = 86 then print "V"; if serialbyte = 84 then print "T"; if serialbyte = 78 then print "N"; if serialbyte = 69 then print "E"; if serialbyte = 77 then print "M"; if serialbyte = 46 then print "."; if serialbyte = 44 then print ","; if serialbyte = 36 then print "$"; if serialbyte < 48 then print "*"; ' habe hier mal ein "*" ausgeben lassen. return '--------- GERÄTETREIBER LADEN ---------- syscode "M20_UTIL10_PAGE0.s19" Das Ergebnis im Display sieht z.B. so aus: $**0SN* *0,**S .... ist nicht wirklich brauchbar. Könnte es hier ein Problem zwischen Byte- und Word-Variable sein? mfg Stefan |
Antwort schreiben |