Autor Tema: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20  (Leído 9365 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado c4_esp_VR

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
    • www.muchotrasto.com
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #15 en: 24 de Enero de 2011, 17:27:24 »
Hola jco7kd,

Necesitamos uno o varios datasheet, un circuito, un protocolo de comunicación, etc...

Un saludete.

Desconectado jco7kd

  • PIC10
  • *
  • Mensajes: 12
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #16 en: 24 de Enero de 2011, 17:40:42 »
voy a ver que encuentro.
Saludos.

Desconectado senshi3

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #17 en: 22 de Mayo de 2011, 20:21:05 »
Hola todos,

igualmente estoy haciendo una conexión de un GPS ublox a un micro (16f886), y estoy haciendo el programa en CCS, por ahora sólo quiero mostrar los datos en una pantalla LCD, sólo mostrarlos, porque ya la organización es otro cuento, pero no entiendo porque cuando los empiezo a leer sólo me aparecen uno o dos cuadritos en el LCD y ya....  hice la prueba conectado el gps directamente al PC y no hay problema, me muestra los datos con el  protocolo NMEA.
/*ESTOS SON LOS DATOS NMEA*/

00:12:55  $GPRMC,001255.00,V,8959.99985,N,17960.00000,E,0.000,0.00,060180,,,N*7A
00:12:55  $GPVTG,0.00,T,,M,0.000,N,0.000,K,N*32
00:12:55  $GPGGA,001255.00,8959.99985,N,17960.00000,E,0,0,99.99,487.0,M,13.0,M,,0*67
00:12:55  $GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
00:12:55  $GPGSV,1,1,03,19,,,28,32,,,26,12,,,27*7B
00:12:55  $GPGLL,8959.99985,N,17960.00000,E,001255.00,V,N*72
00:12:55  $GPGRS,001255.00,1,,,,,,,,,,,,*4D
00:12:55  $GPGST,001255.00,0.0000,,,,999999,999999,999999*64
00:12:55  $GPZDA,001255.00,06,01,1980,00,00*62
00:12:55  $PUBX,00,001255.00,8959.999850,N,17960.000000,E,500.000,NF,999999,999999,0.000,0.00,0.000,,99.99,99.99,99.99,0,0,0*2A
00:12:55  $PUBX,01,001255.00,0.000,E,0.000,N,0.000,NF,999999,999999,0.000,0.00,0.000,,99.99,99.99,99.99,0,0,0*1E
00:12:55  $PUBX,03,03,19,-,,,28,000,32,-,,,26,000,12,-,,,27,000*03
00:12:55  $PUBX,04,001255.00,060180,000775.00,000,000775.00,0,00.000,43,*20

Bueno entonces resumiendo mi pregunta desesperada va en... Cómo recojo los datos del GPS en CSS para mostrarlos en el LCD?

Esto es lo que llevo de código....

Código: C
  1. #INCLUDE<16F886.h>
  2. #device adc=10
  3. #USE DELAY(CLOCK=4000000)
  4. #FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
  5. #USE RS232(BAUD= 57600,XMIT= PIN_C6,RCV= PIN_C7,PARITY=N,BITS=8/*FLOAT_HIGH,TIMEOUT=3000*/)
  6.  
  7. #DEFINE USE_PORTB_LCB TRUE
  8. #INCLUDE "LCD.C"
  9.  
  10.  
  11. char variable;
  12.  
  13. void inicializar(void);
  14.  
  15. void inicializar(void){
  16.    LCD_INIT();                   //Se inicilaiza la pantalla LCD.
  17. }
  18.  
  19.  
  20. VOID MAIN()
  21. {  
  22.    inicializar();
  23.    
  24.    LCD_PUTC("\fCadena: ");
  25.  
  26.    while(true)
  27.    {
  28.       variable = getchar();
  29.       printf(LCD_PUTC,"%c",variable);  
  30.    }  
  31. }

Gracias a todos... :D

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #18 en: 22 de Mayo de 2011, 21:19:58 »
Deberías de recibir la cadena y luego visualizarla, también disminuir la velocidad de la comunicación, porque no te van a dar los tiempos para recibir y visualizar en el lcd, entonces no alcanzas a leer el puerto y se bloquea por sobre-escritura.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado fuente

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 573
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #19 en: 23 de Mayo de 2011, 04:03:20 »
Asegúrate de que tienes bien configurada la velocidad de la UART y que es la misma para el GPS (velocidad, bits de datos y paridad)
La mayoría de los que he utilizado hasta ahora para sicronizar la hora y fecha de los equipos suelen venir de serie con una velocidad de 9600,8,N,1.

Desconectado senshi3

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #20 en: 24 de Mayo de 2011, 11:28:03 »
Deberías de recibir la cadena y luego visualizarla, también disminuir la velocidad de la comunicación, porque no te van a dar los tiempos para recibir y visualizar en el lcd, entonces no alcanzas a leer el puerto y se bloquea por sobre-escritura.


Saludos!


Gracias Suky

Ya metí la cadena en un vector de 20 posiciones, y luego intentar visualizarlo en el LCD,  de igual manera no pasa nada, creo q es eso de la sobre-escritura que me comentas, pero es que si bajo la velocidad de comunicación del GPS entonces no me conecta.

El GPS me conecta a 57600, esto sucedió después de actualizar el fireware de un software que descargué de U-Blox....

Asegúrate de que tienes bien configurada la velocidad de la UART y que es la misma para el GPS (velocidad, bits de datos y paridad)
La mayoría de los que he utilizado hasta ahora para sicronizar la hora y fecha de los equipos suelen venir de serie con una velocidad de 9600,8,N,1.


Gracias fuente

Cómo le dije a Suky, el GPS que tengo me conecta a 57600, entonces ni idea que hacer.


Saludos


Desconectado senshi3

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #21 en: 24 de Mayo de 2011, 11:30:25 »
Código: [Seleccionar]
#INCLUDE<16F886.h>
#device adc=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
#USE RS232(BAUD= 57600,XMIT= PIN_C6,RCV= PIN_C7,PARITY=N,BITS=8, stream=canal1/*FLOAT_HIGH,TIMEOUT=3000*/)

#DEFINE USE_PORTB_LCB TRUE
#INCLUDE "LCD.C"


//char variable;
char buffer[20];
int   i;
void inicializar(void);

void inicializar(void){
   LCD_INIT();                   //Se inicilaiza la pantalla LCD.
}


VOID MAIN()
{   
   inicializar();
   
   LCD_PUTC("\fCadena: ");
      for(i=0;i<20;i++)
         buffer[i] = fgetc(canal1);
         
       for(i=0;i<20;i++)
         printf(LCD_PUTC,"%c",buffer[i]);     
}

este es el código q tengo q ahora ni siqueira me muestra nada en el LCD :D

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #22 en: 24 de Mayo de 2011, 11:33:06 »
Estudia la hoja de datos, enviadole una cadena $PUBX puedes re-configurar la velocidad del GPS. Además para esa velocidad del UART te conviene llevar al micro a 20MHz, sino el baudrate tiene un error de 9% y te puede generar problemas.



Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado senshi3

  • PIC10
  • *
  • Mensajes: 4
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #23 en: 24 de Mayo de 2011, 11:41:47 »
OK...

Código: [Seleccionar]
#INCLUDE<16F886.h>
#device *=16 ADC=10
#USE DELAY(CLOCK=20000000)

ya voy a revisar para enviarle la cadena $PUBX...

Luego te aviso a ver como sigo con esto...
Gracias!!!

Desconectado pachomil

  • PIC12
  • **
  • Mensajes: 70
Re: Ayuda codigo fuente para leer GPS con un PIC16F648A y LCD 2 x 20
« Respuesta #24 en: 24 de Mayo de 2011, 21:30:44 »
buenas tardes



senshi3 yo trabajo con gps sin548c para unos posicionadores soy de medellin si quieres te puedo ayudar con el tema


francisco


 

anything