Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

01/06/2010 #1


lectura de gps por pic
Hola a todos estoy haciendo un proyecto, donde estoy utilizando un gps. Lo que quiero hacer es que un micro reciba la trama NMEA que le envia el gps y la muestre en un lcd. Lo cual tengo una duda, ya he hecho el programa del micro, que a cotinuacion lo agrego, el problema que estoy teniendo es que el programa que hice no me actualiza los valores. es como que la primera trama que entra, es la que se guarda y las otra no las guarda.
me gustaria si alguien sabe donde me estoy confundiendo, o por que no anda. por que es mas facil a otro reconocer lo errores de uno, que a uno mismo. dede ya muchas gracias.

el programa es:
#INCLUDE <16F876.H>
#use delay(clock=4000000)
#use RS232(BAUD=4800, RCV=PIN_C7, XMIT=PIN_C6, PARITY=N, BITS=8)
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOCPD,NODEBUG
#include <lcd.c>
#use standard_io(C)
#use standard_io(A)

int j=0;
char cadena[71];
char *buffer=cadena; // UNION entre el puntero y el vector

#int_rda

void recepcion_serie() // Rutina de interrupción por recepción serie
{
buffer[j] = getc();
j++;


}

void main()
{
lcd_init();
lcd_putc("\fPreparando...\n");
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);

while(true)
{if(cadena[17]=='V')
{ printf(lcd_putc,"\f ERROR DE\n\t RECEPCION");
delay_ms(10);
}
else
{If(input(pin_a1)==1)
{printf(lcd_putc,"\fTiempo=%c%c:%c%c" ,cadena[7],cadena[8],cadena[9],cadena[10]);//imprime el tiempo
printf(lcd_putc,"\nFecha=%c%c/%c%c/%c%c" ,cadena[55],cadena[56] ,cadena[57],cadena[58],cadena[59],cadena[60]);//imprime la fecha
delay_ms(10);
}
else
{printf(lcd_putc,"\fLat=%c%c%c%c.%c%c%c%c%c%c", cadena[20], cadena[21],cadena[22],cadena[23],cadena[25],cadena[26],cadena[27],cadena[28],cadena[29],cadena[30]); // imprime la latitud
//printf(lcd_putc,"\nLon=%c%c%c%c%c.%c%c%c%c%c%c" ,cadena[32],cadena[33],cadena[34],cadena[35],cadena[36],cadena[38],cadena[39],cadena[40],cadena[41],cadena[42],cadena[43]);//imprime la longitud
printf(lcd_putc,"\n%d",j);
delay_ms(10);
}
}
if(j>=71)
{buffer[71]=(0);
j=0;
}
}
}
02/06/2010 #2

Avatar de tecnogirl

Respuesta: lectura de gps por pic
yo probaria la instruccion
while(true){
como primera instruccion de main() para iniciar todo en cada ciclo y ver si funciona.
Saludos
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.