Hola, hace unos años hice un programa que capturaba los datos enviados por una balanza mediante RS232.
Ayer quise volver a usar parte de la rutina para probar la comunicación mediante #int_rda y no logro que funcione.
El programa lo fui resumiendo para evitar errores y quedó algo como ésto:
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,PUT,NOBROWNOUT
#use delay(clock=20000000)
#pragma use rs232(baud=9600, xmit=PIN_C5, rcv=PIN_C7, bits=8, parity=N, ERRORS)
#include <flex_lcd4.c>
#int_rda
void serial_isr() {
lcd_putc(lcd_putc,"Hola ");
}
void main (){
enable_interrupts(int_rda);
enable_interrupts(GLOBAL);
lcd_init();
delay_ms( 100 );
lcd_putc(lcd_putc,"BALANZA ");
while(TRUE);
]
Cuando arranca aparece en el display la palabra BALANZA y me imagino que cuando hay un dato se activaría #int_rda y y debería mostrar "Hola". Nunca sucede.
Verifiqué con el osciloscopio en C7 y los pulsos llegan bien.
¿Que podrá ser? Muchas gracias!