So, meine GPS-Maus funktioniert hervorragend. Und mein erstes Mini-Programm, um die Datenströme auszulesen/auszuwerten funktioniert auch Bestens ->

Uhrzeit und Datum wird aus dem GPMRC-Block eines NMEA Datensatzes gefiltert...jetzt geht`s an das Wandeln von String nach Variable um damit auch zu rechnen :

Bild hier  


Code:
'**********************************************************
'Compiler            : BASCOM-AVR
'Hardware           : GPS-Maus an RS232
'                           LC-Display 16*4
'Chip type           : ATMEGA8/MyAVR
'**********************************************************

$regfile = "m8def.dat"
$crystal = 3686400
$baud = 9600

Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5
Config Lcd = 16 * 4
Initlcd
Cursor Off
Cls


'**********************************************************************
'so sieht ein empfangener Datenblock aus :
'
'$GPRMC,142654.895,A,5305.9338,N,00849.2502,E,0.00,260.88,160206,,,A*6F

'$GPRMC,191410,A,4735.5634,N,00739.3538,E,0.0,0.0,181102,0.4,E,A*19
'       ^      ^ ^           ^            ^   ^   ^      ^     ^ ^
'       |      | |           |            |   |   |      |     | |
'       |      | |           |            |   |   |      |     | Prüfsumme
'       |      | |           |            |   |   |      |     |
'       |      | |           |            |   |   |      |     Modus (A,D,E,N,S)
'       |      | |           |            |   |   |      |
'       |      | |           |            |   |   |      magnetische
'       |      | |           |            |   |   |      Deklination 0.4° E
'       |      | |           |            |   |   |
'       |      | |           |            |   |   Datum: 18.11.02
'       |      | |           |            |   |
'       |      | |           |            |   wahrer Kurs (ohne Bewegung 0)
'       |      | |           |            |
'       |      | |           |            Geschwindigkeit über Grund (Knoten)
'       |      | |           |
'       |      | |           007° 39.3538' östliche Länge
'       |      | |
'       |      | 47° 35.5634' nördliche Breite
'       |      |
'       |      Empfängerwarnung, A = Daten OK, V = Warnung
'       |
'       Uhrzeit der Positionsbestimmung: 19:14:10 UTC-Zeit
'**********************************************************************

Dim A As Byte
Dim Datenstrom As String * 71
Dim Block As String * 6
Dim Stunde As String * 2
Dim Minute As String * 2
Dim Sekunde As String * 2
Dim Tag As String * 2
Dim Monat As String * 2
Dim Jahr As String * 2


Start:
Do
    Do
    A = Inkey()                                              'warte auf Zeichen "$"
    If A = 36 Then Input Datenstrom                         'lese kompletten datenstrom
    Block = Mid(datenstrom , 1 , 5)                          '5 Zeichen nach "$"einlesen
    Loop Until Block = "GPRMC"                              'frage immer wieder bis Zeichenfolge "GPMRC" kommt, gehe dann weiter

   Stunde = Mid(datenstrom , 7 , 2)                         'nach 7 Zeichen die folgenden zwei Zeichen
   Minute = Mid(datenstrom , 9 , 2)
   Sekunde = Mid(datenstrom , 11 , 2)
   Tag = Mid(datenstrom , 57 , 2)
   Monat = Mid(datenstrom , 59 , 2)
   Jahr = Mid(datenstrom , 61 , 2)

   Locate 1 , 1
   Lcd "Uhrzeit " ; Stunde ; ":" ; Minute ; ":" ; Sekunde
   Locate 2 , 1
   Lcd "Datum   " ; Tag ; "." ; Monat ; "." ; Jahr

Loop
End