Hola amigos,
Estoy tratando de hacer un programa que se encuentra en un lazo infinito pero que cuando ingrese un caracter por el hipertterminal el pic sea interrumpido por el puerto serie, lea el puerto y lo vuelva a retransmitir para que lo pueda ver en el hipertermional.
este es mi codigo, quisiera saber cual es el error por que no logro visualizar nada.
#include <18f4550.h>
//#fuses HS,MCLR,NOWDT,NOPROTECT,NOPUT,NOBROWNOUT,NOPBADEN,NOLVP,NOCPD,NODEBUG,NOWRT,NOVREGEN
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#define USE_INTERRUPTS 1
char dato;
// INTERRUPCION por RECEPCION SERIE -------------------------------------------
#int_rda
void serial_isr() {
if(kbhit()){
dato=getc();
printf("Dato Recibido %S\r\n",dato);
}
}
void main() {
disable_interrupts(global);
disable_interrupts(int_timer1);
disable_interrupts(int_rda);
disable_interrupts(int_ext);
disable_interrupts(int_ext1);
disable_interrupts(int_ext2);
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_spi(FALSE);
setup_psp(PSP_DISABLED);
setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
setup_timer_0(RTCC_OFF);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_tris_c(0b10000000);
while (TRUE);
{
//lazo infinito
}
}