hola que tal chicos,este es mi primer mensaje ,tengo un problema con mi programa en ccs .lo que pasa es que
en la simulacion en proteus que hago, recibo en un pic16f886 una trama de datos del gps usando usart por hardware y luego
uso usart por sotfware para enviar a la pc en ambos casos en proteus utilizo el ''virtual terminal'' pero me ocurre un error
los datos que recibo del gps no son iguales a los datos que envio del pic a la pc .
este es mi codigo
[#include <16f886.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,PUT,NOBROWNOUT
#define Tx PIN_D1//pin transmisor por uart soft a la PC
#define Rx PIN_D2//pin receptor por uart soft a la PC
#define Rg PIN_C7//pin receptor por uart hard del GPS
#use delay (CLOCK=4000000)
#use fast_io(C)
#use fast_io(D)
//!#use rs232 (STREAM=PC,BAUD=9600,XMIT=Tx,RCV=Rx)
//!#use rs232 (STREAM=GPS,BAUD=9600,RCV=Rg)
#use rs232(baud=9600, xmit=Tx,rcv=Rx, stream=PC)
#use rs232(baud=9600, rcv=Rg, stream=GPS)
#int_RDA
void serial_isr(){
}
void main(void)
{
char caracter ;
set_tris_d(0b00000100);
set_tris_c(0b10000001);
fputs("=====RECIBIDO DEL GPS=====",PC);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
while(TRUE)
{
caracter=fgetc(GPS);
fputc(caracter,PC);
}
}
ahi de paso les adjunto la imagen de la simulacion en proteus ,espero me ayuden
gracias de antemano