Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of ComGPS by
Diff: main.cpp
- Revision:
- 1:821bd360ec5b
- Parent:
- 0:674a094baf00
- Child:
- 2:4cf92185ed38
--- a/main.cpp Sun Mar 01 11:39:40 2015 +0000
+++ b/main.cpp Tue Mar 03 13:35:34 2015 +0000
@@ -1,24 +1,87 @@
#include "mbed.h"
#include "C12832.h"
-
-
-Serial GPS(p13, p14); //Pin13 TX, pin14 RX.
+#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);
- unsigned char GPS_DATA;
+ 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_DATA=GPS.getc();
- lcd.locate(0,15);
- lcd.printf("%d",GPS_DATA);
- }
+ gps_mess=GPS.getc();
+ if (gps_mess=='$'){
+ NbDataRec=0;//Initialisation de bbb à 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
+
}
-
-
-
-}
\ No newline at end of file
+ }
