![](/media/cache/profiles/bd1ce36d68a5c2bea97fe45863673b20.jpg.50x50_q85.jpg)
PROGRAMA SIMPLE QUE LEE UNA TRAMA DE GPS Y LA PONE EN PANTALLA DE LA TERMINAL DEL PC
Fork of GPS_Google by
main.cpp
- Committer:
- tony63
- Date:
- 2017-04-28
- Revision:
- 3:d7d5111a39ac
- Parent:
- 2:5abd8a794703
File content as of revision 3:d7d5111a39ac:
//ESTE PROGRAMA SE ENCARGA DE LEER UN GPS Y GENERAR UNA CADENA DE GEOLOCALIZACION //PARA SER ENVIADA COMO LINK EN UN MENSAJE DE TEXTO //UTIL PARA IMPLEMENTAR UN RASTREADOR SATELITAL //EN CASO DE NO TENER GPS USE UN EMULADOR COMO SATGEMNMEA //https://www.labsat.co.uk/index.php/en/free-gps-nmea-simulator-software #include "mbed.h" #include "GPS.h" #include <stdio.h> #include <string.h> #include <math.h> Serial pc(USBTX, USBRX); GPS gps(PTE0, PTE1); int z; int Lo_E,Lo_F,La_E,La_F;//longitud entera y fraccionaria float frac_long, frac_lat; //fraccion longitud y fraccion latitud char long_E[4]; //Subcadena con la longitud entera char long_F[7];//Subcadena con la longitud fraccionaria(6 digitos) char lat_E[4];//Subcadena con la latitud entera char lat_F[7];////Subcadena con la latitud fraccionaria(6 digitos) char GooMap[55]="http://maps.google.com/maps?q="; char str[55]; void tostring(char[], int); //FUNCION QUE CONVIERTE UN ENTERO EN CARACTER Y VICEVERSA int num; int main() { while(1) { if(gps.sample()) { Lo_E = abs((int)gps.longitude); Lo_F = (int)abs(1000000*(gps.longitude-(int)gps.longitude)); La_E = abs((int)gps.latitude); La_F = (int)abs(1000000*(gps.latitude-(int)gps.latitude)); //calculo las cuatro subcadenas de las partes enteras y fraccionarias falta adicionar los puntos,las comas y los signos tostring(long_E, Lo_E); tostring(long_F, Lo_F); tostring(lat_E, La_E); tostring(lat_F, La_F); if(gps.latitude<0){ strcat(GooMap,"-"); } strcat(GooMap,lat_E); strcat(GooMap,"."); strcat(GooMap,lat_F); strcat(GooMap,","); if(gps.longitude<0){ strcat(GooMap,"-"); } strcat(GooMap,long_E); strcat(GooMap,"."); strcat(GooMap,long_F); strcat(GooMap,"\n"); pc.printf("%s\n",GooMap); //la omprimo o hago algo con ella for(z=30;z<51;z++){ //la lleno de ceros para evitar problemas despues!! GooMap[z]=0; } } else { pc.printf("Oh Dear! No lock :(\n"); } } } //*********************************************************************************************** //funcion que convierte entero en caracter void tostring(char str[], int num) { int i, rem, len = 0, n; n = num; while (n != 0) { len++; n /= 10; } for (i = 0; i < len; i++) { rem = num % 10; num = num / 10; str[len - (i + 1)] = rem + '0'; } str[len] = '\0'; }