Hola a todos, les comento que soy nuevo por aquí, espero me puedan ayudar.
Pues hace unos días empece a trabajar con un modulo gps y hasta ahorita e tenido un problema; no puedo leer los datos a traves del pic (16f877a) hice un mini código usando 2 UART por software, en donde, en una recibo la trama del modulo y por la otra lo lanzo hacia la PC (esto solo lo hago para verificar que el pic este recibiendo correctamente los datos). La idea era recibir la trama completa y filtrar solo el comando que necesito ($GPGLL) pero no capturo datos del gps.
Ya descarte que el que no funcione el código o el circuito (hice lo mismo pero con un bluethoot) y cambie el tamaño del arreglo hasta 90 con esto ultimo tampoco funciono.
ley en algún lugar que el chip que trae este modulo tiene comandos para especificar cual de todos sus comandos quieres que te mande y con también puedes modificar el tiempo en que lo hace, busque en el datasheet pero no encontré nada sobre la configuración.
si alguien tiene una idea de lo que este pasando le agradezco su ayuda, les dejo el mini código (solo lee un puerto y lo que hay lo imprime en otro).
***************************************************CODIGO********************************************************
#use rs232(baud=9600,parity=N,xmit=PIN_A3,rcv=PIN_A4,bits=8,stream=COM1)
#use rs232(baud=9600,parity=N,xmit=PIN_B1,rcv=PIN_B2,bits=8,stream=COM4)
void main()
{
char lectura[25];
while(TRUE)
{
fgets(lectura,COM4); //leo los datos del COM4 hasta que hay un ENTER y se guardan en el arreglo lectura
fputs(lectura,COM1); //mando los datos guardados en el arreglo al puerto COM1
}//cierra while
}