PIC 18 e GPS!
Ciao a tutti, oggi sono alle prese con un modulo gps.
Il mio intento è quello di collegare, tramite usart, un modulo gps con il mio PIC 18.
Fin qui tutto è filato liscio.
Ho creato un arrary di nome Buffer che mi raccoglie le stringhe inviate dal modulo gps, di seguito vi posto un esempio di stringa di comunicazione:
I dati che vorreri estrapolare sono la latitudione e longitudine; cioè 6548.4901,N,00335.8774,E.
A questo punto dovrei creare una funzione che mi ritorni come risultato questi due valori.
Non conosco molto bene il c e sopratutto con i puntatori mi perdo.
La mia idea è di scorrere il buffer fino a trovare i caratteri "GPRMC", da li contare tre caratteri "," e poi analizzare i dati seguenti che corrispondono alla latitudine e longitudine.
Non so se il mio approccio è corretto ma non conosco alternativa.
Qualcuno sa aiutarmi.
Grazie.
Il mio intento è quello di collegare, tramite usart, un modulo gps con il mio PIC 18.
Fin qui tutto è filato liscio.
Ho creato un arrary di nome Buffer che mi raccoglie le stringhe inviate dal modulo gps, di seguito vi posto un esempio di stringa di comunicazione:
- Codice: Seleziona tutto
GPGSA,A,3,05,29,25,30,16,31,,,,,,,1.51,1.20,0.91*03
$GPRMC,201023.000,A,6548.4901,N,00335.8774,E,0.44,186.45,160512,,,A*61
$GPVTG,186.45,T,,M,0.44,N,0.81,K,A*3A
$PGTOP,11,2*6E
$GPGGA,201024.000,6548.4906,N,00335.8775,E,1,6,1.20,538.0,M,48.0,M,,*5A
I dati che vorreri estrapolare sono la latitudione e longitudine; cioè 6548.4901,N,00335.8774,E.
A questo punto dovrei creare una funzione che mi ritorni come risultato questi due valori.
Non conosco molto bene il c e sopratutto con i puntatori mi perdo.
La mia idea è di scorrere il buffer fino a trovare i caratteri "GPRMC", da li contare tre caratteri "," e poi analizzare i dati seguenti che corrispondono alla latitudine e longitudine.
Non so se il mio approccio è corretto ma non conosco alternativa.
Qualcuno sa aiutarmi.
Grazie.