Buenas.
Tengo una duda, estoy tratando de simular la comunicación serie mediante el modulo USART del PIC16F877A, tengo este código para la recepcion de datos del PIC:
#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT,NOCPD,NOWRT
#use delay (clock=4000000)
#use rs232(baud=9600, xmit=pin_C6, rcv=pin_C7, bits=8, parity=N)
char coor=0;
#int_rda
void serial_isr()
{
coor=getc();
}
void main()
{
TRIS_B=0x00; // config. todo el puerto como salida
// 1 es entrada y 0 es salida
port_B=0; // blanquea el puerto (Apaga LED en RB0)
enable_interrupts(global);
enable_interrupts(int_rda);
while(TRUE)
{
if(coor!=0)
{
RB0=1; // Enciende LED en RB0
delay_ms(1000); // Retardo de 1s
}
}
Como se puede observar se trata de un programa que al recibir un numero distinto de "0" encienda un LED.
Pero al momento de simular en el proteus, no puedo escribir nada en el VIRTUAL TERMINAL, por lo que el PIC no responde.
Cual es el error??
Adjunto una imagen del circuito.
Espero su respuesta