Gast
#712370
Guten Abend. ich bin neu in Sachen µC und auch neu in diesem Forum. ich habe mich bis jetzt nur wenig mit dem µC befasst. und das nur in Basic. habe im Netz folgendes projekt gefunden: http://www.kh-gps.de/gpsdec1.htm finde ich sehr interresant, aber ich brauche die Geschwindigkein natürlich in km/h, und nicht in Knoten. habe den Quelltext angesehen, und finde trotz aller Bemühungen keine Stelle, wo die Daten in Knoten umgewandelt werden, um diedann wiederrrum in km/h zu umwandelt. Könnte mir jemand helfen? Quelltext: $regfile = "m8def.dat" $crystal = 16000000 $baud = 4800 Config Lcd = 16 * 2 Cls Cursor Off Dim C As Byte Dim I As Byte Dim Time As String * 6 Dim Av As String * 2 Dim Lat As String * 8 Dim Ns As String * 2 Dim Lon As String * 9 Dim Ew As String * 2 Dim Spd As String * 6 Dim Crs As String * 6 Dim Leng As Byte Dim Mrk As String * 2 Dim Xx As Bit Declare Sub Wait_for_string(byval S As String) Declare Function Read_string() As String Wait 1 Upperline Lcd "WAITING FOR DATA" Wait 3 Mrk = "-" Config Serialin = Buffered , Size = 100 ' Konfig. der ser. Eingabe Enable Interrupts ' $GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh Do Call Wait_for_string( "$GPRMC,") ' Warte auf $GPRMC Time = Read_string() Av = Read_string() Lat = Read_string() Leng = Len(lat) - 1 Lat = Left(lat , Leng) Ns = Read_string() Leng = Len(ns) - 1 Ns = Left(ns , Leng) Lon = Read_string() Leng = Len(lon) - 1 Lon = Left(lon , Leng) Ew = Read_string() Leng = Len(ew) - 1 Ew = Left(ew , Leng) Spd = Read_string() Leng = Len(spd) - 1 Spd = Left(spd , Leng) Crs = Read_string() Leng = Len(crs) - 1 Crs = Left(crs , Leng) Upperline Locate 1 , 2 Lcd Lat ; Ns Locate 1 , 12 Lcd Spd Lowerline Lcd Lon ; Ew Locate 2 , 12 Lcd Crs If Av = "V," Then Av = "*" If Av = "A," Then Av = " " Locate 1 , 1 Lcd Av If Xx = 1 Then Mrk = "-" If Xx = 0 Then Mrk = "+" Toggle Xx Locate 1 , 11 Lcd Mrk Loop End '------------------------------------------------------ Sub Wait_for_string(byval S As String) As String Local Ii As Byte Local Cc As Byte Ii = 1 M1: Cc = Waitkey() If Cc <> Mid(s , Ii , 1) Then Goto M1 Else Incr Ii If Ii > Len(s) Then Goto M2 Goto M1 End If M2: End Sub '------------------------------------------------------ Function Read_string() As String Local Cc As Byte Local Ss As String * 10 Ss = "" Do Cc = Waitkey() Ss = Ss + Chr(cc) Loop Until Cc = "," Read_string = Left(ss , 10) End Function End