ahmed ahmed
/
Nadia_ComGPS_1
Decod Msg GPS
Fork of ComGPS by
main.cpp
- Committer:
- pfe
- Date:
- 2015-04-08
- Revision:
- 2:4cf92185ed38
- Parent:
- 1:821bd360ec5b
File content as of revision 2:4cf92185ed38:
#include "mbed.h" #include "C12832.h" #include "GPS_Init.h" C12832 lcd(p5, p7, p6, p8, p11); Serial pc(USBTX,USBRX); // communication PC à 9600 baud/sec par défaut Serial GPS(p9, p10); //Pin9 TX, pin10 RX. unsigned short UserWR_buffer[32]; unsigned short NbDataRec,En,Ldata; unsigned short MsgGPSRx[65]; // Déclaration d'un vecteur de 65 charactères int main() { GPS.baud(9600); // vérifier que votre GPS est à 9600, le plus souvent ils sont à 9600 !!!!! char gps_mess; lcd.cls(); lcd.locate(0,0); lcd.printf("GPS FIX"); while(1){ // if(GPS.readable()){ gps_mess=GPS.getc(); if (gps_mess=='$'){ NbDataRec=0;//Initialisation à 0 En=1; while(En){ while(!GPS.readable()); gps_mess = GPS.getc(); //Lecture du message GPS via USART MsgGPSRx[NbDataRec] = gps_mess; //Stockage du message GPS dans un vecteur NbDataRec++; if((gps_mess==0x0D)||(NbDataRec==65)) En=0; // Vérification de la fin du message } Ldata=NbDataRec; DecodageGPGGA(MsgGPSRx,Ldata); if (MSG_GPGGA_Valid){ lcd.locate(0,10); lcd.printf("MSG GPS Valid"); UserWR_buffer[0]++; //----------------------------------------------------------------------------- UserWR_buffer[1] = hh; UserWR_buffer[2] = mm; UserWR_buffer[3] = ss; //----------------------------------------------------------------------------- UserWR_buffer[4] = LatDeg; UserWR_buffer[5] = LatMin; UserWR_buffer[6] = LatMin1; UserWR_buffer[7] = LatMin2; UserWR_buffer[8] = LatDir; //----------------------------------------------------------------------------- UserWR_buffer[9] = LongDeg; UserWR_buffer[10] = LongMin; UserWR_buffer[11] = LongMin1; UserWR_buffer[12] = LongMin2; UserWR_buffer[13] = LongDir; //----------------------------------------------------------------------------- UserWR_buffer[14] = Qual; //----------------------------------------------------------------------------- UserWR_buffer[15] = HMSL_H; UserWR_buffer[16] = HMSL_L; UserWR_buffer[17] = HMSL_1; UserWR_buffer[18] = HMSL_2; UserWR_buffer[19] = SignHMSL; UserWR_buffer[20] = HUnite; pc.printf("%d",hh); // afficher sur la console de PC. MSG_GPGGA_Valid=0; } } } // Vous ne pouvez pas afficher un message brut car il fait au moins 40 caractères et en plus le contenue // est brut donc il faut le décoder !!!!! donc affichage à revoir. // Contentez vous d'afficher cela sur le port USB du PC. // il vous faidra pour cela installer le drivers Mbed je le mets en partage sir le compte google drive //il suffit de le lancer // afficher sur la console de PC. // utiliser pour cela le programme Terminal.exe que je mets en partage aussi // Vous trouverez le driver terminal + le logiciel Terminal dans le répértoir GPS dans google drive //lcd.locate(0,15); //lcd.printf("%d",GPS_DATA); Pas possible pour le moment } }