buenas noches a todos necesito ayuda para comunicarme serialmente del pic 16f877a hacia la pc que sea por el puerto c pin_c6 pin_c7 que son los nativos del pic para estas funciones he intentado de todo y no logro hacer que funcione no se si hay que deshabilitar algunas funciones de la usuart, con los otros puertos funciona de maravilla pero con este en especial tengo problemas, el programa es mas complejo, pero me esta volviendo loco este problema y lo he simplificado para enviar el estado de un pin del puerto b, yo se que es un tema muy difundido, pero no logro solucinarlo, si no es mucha molestia talvez tambien me podrian ayudar a usar la #int_rda del pic, de antemano muchas gracias a todos
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay (clock=20,000,000)
#use fast_io(c)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#bit v1= 0x06.4 //pin del puerto b a visualizar
#bit v15 = 0x06.3 // pin del puerto b del que se testea su estado
void main()
{
set_tris_c(0b10000000);
set_tris_b(0b00001000);
setup_psp(PSP_DISABLED);
do
{
if (V15==1) // si pinb3 = 1
{
putc ('a'); //visualizar a
v1 = 1;
}
if (V15==0) // si pinb3 = 0
{
fputc ('b'); // visualizar b
v1 = 0;
}
} while (true);
}
he usado pic simulator ide para ver en detalle los procesos del pic
#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay (clock=20,000,000)
#use fast_io(c)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#bit v1= 0x06.4 //pin del puerto b a visualizar
#bit v15 = 0x06.3 // pin del puerto b del que se testea su estado
void main()
{
set_tris_c(0b10000000);
set_tris_b(0b00001000);
setup_psp(PSP_DISABLED);
do
{
if (V15==1) // si pinb3 = 1
{
putc ('a'); //visualizar a
v1 = 1;
}
if (V15==0) // si pinb3 = 0
{
fputc ('b'); // visualizar b
v1 = 0;
}
} while (true);
}
he usado pic simulator ide para ver en detalle los procesos del pic