Buenas a todos,
Trato de hacer una comunicación simple, rs232, utilizando una interrupcion, el codigo que me planteo es el siguiente:
#include <18F2550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#use rs232(baud=115200,xmit=PIN_C6,rcv=PIN_C7)
#int_rda
void serial_isr(){
if(kbhit()){
printf("Interrupcion");
delay_ms(500);
}
}
void main(){
enable_interrupts(global);
enable_interrupts(int_rda);
printf("INICIO");
do{
}while(TRUE);
}
Pues bien, al enviar desde el PC un solo caracter, el pic se me queda encerrado en un bucle infinito dentro de la interrupción, enviando constantemente la frase "Interrupcion".
En teoria lo que intento, es que, cada vez que yo le envie un caracter, el envie una vez el texto "Interrupcion", pero una vez enviado un solo caracter, se queda en un bucle infinito enviandolo constantemente.
¿Alguna idea?
Salu2 a tod@s