Hola gente de todopic hace muecho tiempo que estoy renegando para que mi modulo gps de parallax me muestre algun dato concreto en un lcd y no hay forma aca te muestro el programa.... lo unico que quiero hacer es ver si anda, por eso quiero mostrar solamente los 16 caracteres que hay despues del $GPRMC,....
#INCLUDE <16F877.H>
#use delay(clock=20000000)
#use RS232(BAUD=4800,RCV=PIN_C7,XMIT=PIN_C6,PARITY=N,BITS=8)
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#include <lcd.c>
int j;
int i;
char cadena[17];
#int_rda
void recepcion_serie() {
printf(lcd_putc,"\fConectando...\n"); // Esto lo escribiría cada vez q se interrumpiese
if(getc() == 'C')
{
if(getc() == 0x2C){
for(j = 0; j<16; j++)
{
cadena[j] = getc();
}
} }
}
void main()
{
j=0;
i=0;
lcd_init();
printf(lcd_putc,"\fGPS\n");
delay_ms(2000);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
while( j < 16 ) // No salimos hasta que tengamos 16 caracteres en el array
{
if(j == 16)
{
disable_interrupts(INT_RDA);
}
}
lcd_putc('\f');
delay_ms(100);
printf(lcd_putc,"longitud:\n");
for (i=0;i<16;i++){
printf(lcd_putc,"%c",cadena
); //los tengo q mostrar en ascii
}
delay_ms(5000);
for(; {}
}
Estes el el programa, en la interrupcion le pregunto si llego 'c' y luego 'la coma' debido a que los datos que manda el gps segun la hoja de datos NMEA 083 son similares a los siguientes:
$GPGGA,170834,4124.8963,N,08151.6838,W,1,05,1.5,280.2,M,-34.0,M,,,*75
$GPGSA,A,3,19,28,14,18,27,22,31,39,,,,,1.7,1.0,1.3*34
$GPGSV,3,2,11,14,25,170,00,16,57,208,39,18,67,296,40,19,40,246,00*74
$GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W*70
pero se me queda todo el tiempo en "conectando..." le probe cambiar el cristal, antes estaba usando uno de 4 mhz y ahora uso uno de 20mhz y una vez empece a tirarle reset reset y me salto un dato pero no era igual a los del codigo... nose que puede ser...
vos por las dudas no sabes si el problema puede ser el del codigo? si logro ver algo que me llegue despues los cargo en un array mas grande y hago un menu que aprete pulsadores y se vea cada cosa pero no puedo lograr los basico.
en esta direccion esta el pdf del modulo-->www.grandideastudio.com/wp-admin/uploads/gps_manual.pdf
Desde ya muchas gracias...