Hola, aqui tienes un decodificador de GPS para el estandar NMEA a 4800 baudios

esta escrito en C
Private Sub Form_Load()
" faut pas oubliez le paramétrage de Mscomm suivant le GPS utiliser
" comme les propriétés MSComm1.CommPort = 1 : Mscomm1.Settings ="4800,n,8,1"
MSComm1.PortOpen = True "ouvrir le port, dans mon cas le port numéro 1
Timer1.Interval = 2000
"Ici je donne la valeur 2000 pour l"intervalle car les satellites envoient
"les phrases qui contient les informations chaque deux secondes,
"alors gardez cette valeur!!!
End Sub
Private Sub Timer1_Timer()
decoder " on appel cette procédure chaque 2 secondes
End Sub
Public Sub decoder()
Dim TmpChaine As String
Dim i As Integer
On Error Resume Next
TmpChaine = MSComm1.Input " reçois les phrases envoyer par les satellites
i = InStr(TmpChaine, "GPRMC"

" chercher le départ de la phrase qui nous intéresse
Do While Len(TmpChaine) - i < 61 "Vérifier si la phrase n"arrive pas à la fin
On Error Resume Next
TmpChaine = TmpChaine & MSComm1.Input " stocker la phrase
Loop
" traiter la phrase et extrait les informations avec la fonction mid
Label1.Caption = Mid(TmpChaine, i + 6, 2) & ":" & Mid(TmpChaine, i + 8, 2) & ":" & Mid(TmpChaine, i + 10, 2)
Label2.Caption = "N " & Mid(TmpChaine, i + 15, 2) & "°" & Mid(TmpChaine, i + 17, 2) & "." & Mid(TmpChaine, i + 20, 2) & """
Label3.Caption = "E " & Mid(TmpChaine, i + 25, 3) & "°" & Mid(TmpChaine, i + 28, 2) & "." & Mid(TmpChaine, i + 31, 2) & """
Label4.Caption = Mid(TmpChaine, i + 48, 2) & "/" & Mid(TmpChaine, i + 50, 2) & "/" & Mid(TmpChaine, i + 52, 2)
"exemple:
"$GPRMC,022804.19,A,3301.5767,S,07131.1408,W,08.5,061.8,040101,06.,E*68
"label1 contient l"heure (Time): hh:mm:ss
"label2 contient la position par rapport au Nord : N ...°..."
"Label3 contient la position par rapport au East : E...°..."
"label4 contient Date : JJ/MM/AA
"il y a des autres informations dans cette phrase a traiter...
End Sub
Espero te sirva

Slds!
Zero13
www.zerobots.net