Saludos mi gente!
Fíjense que he estado haciendo una prueba con el modulo gps Earthmate y el pic... lo que quiero a la final es hacer una lectura del gps y procesar los datos recibidos para conocer la posición en la cuál estoy ubicado...
Entonces pensé en hacer algo así como un arreglo para guardar cada caracter de la sentencia NMEA y luego procesarlos...
La cosa es que no tengo mucha experiencia con los arreglos en C, así que bueno, he hecho varios programas pero no funcionan.
El código es así:
//////////////////////////////////////
// Recibe del gps y envia al pc //
//////////////////////////////////////
#include <16f876.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
#define led PIN_C5
#define Tx PIN_C6
#define Rx PIN_C7
#define Rg PIN_C0
#define DTR PIN_C1
#use delay (CLOCK=20000000)
#use rs232 (STREAM=GPS,BAUD=4800,RCV=Rg)
#use rs232 (STREAM=PC,BAUD=19200,XMIT=Tx,RCV=Rx)
#use fast_io(A)
#use fast_io(B)
#use standard_io(C)
void main(void)
{
char cadena[80];
int i;
setup_ccp1(CCP_OFF);
set_tris_a(0b11111111);
set_tris_b(0b11111111);
fputs("=====RECIBIDO DEL GPS=====",PC
); output_high(led);
while(TRUE)
{
for(i=0;i=79;i++)
{
output_high(DTR);
}
output_low(DTR);
fputs("==SENTENCIA NMEA RECIBIDA==",PC
); }
}
Con este código el pic debería recibir 80 caracteres del gps y enviarlos al pc, y luego enviar el mensaje "==SENTENCIA NMEA RECIBIDA=="... pero nada... no lo hace... lo que hace es que manda continuamente las sentencias NMEA, de forma indefinida, como si no existiera el ciclo for.
Ahora bien, cuando compilo el ccs no da errores, pero me da el siguiente mensaje:
Executing: "C:\Program Files\PICC\Ccsc.exe" +FM "C:\Program Files\PICC\gps_2.c" +DF +LN +T +A +M +Z +Y=9 +EA
>>> Warning 201 "gps_2.c" Line 30(1,1): Assignment inside relational expression
Memory usage: ROM=3% RAM=25% - 25%
0 Errors, 1 Warnings.
No entiendo eso del "Assignment inside relational expression"... que me señala justamente al ciclo for... me parece que es allí donde está el error...
Seguramente estoy cometiendo una burrada de novato, pero si pueden me gustaría me aclararan qué es lo que estoy haciendo mal...
Espero y agradezco de antemano sus respuestas.
Nos leemos!