Hola, es la primera vez que me registro en un foro pero ya no me quedan libros a los cuales recurrir, estoy trabajando en una cerradura electrónica con codigo para el proyecto final de la escuela y le quiero poner un control remoto para abrir un portón.
Uso un 16F876 como receptor y programa principal y un 16F628A como transmisor. El 628A simplemente manda el dato que yo ponga en putc() y la función de interrupción en el 876 recibirá el caracter supuestamente. Pero para la condición solo pude conseguir que se cumpla con un 0. Es decir :
int rx;
#INT_RDA
void rd_isr(void)
{
rx = getc();
if (rx == 0 ) {
output_high(PIN_C4);
printf(lcd_putc,"\fConexión Establecida");
} }
/* Esta condición si se cumple, pero no logro hacer que sea por ejemplo con 1, 2, a, b, etc. Ya probé cambiar los enteros por caracteres y nada, solo el 0 es correcto en la recepción. Necesito que sea con más posibilidades para mejorar mi proyecto.
En mi transmisor (16F628A) tengo esto demás de toda la configuración necesaria:
#INT_EXT
RB0() {
output_toggle(PIN_B4);
putc(0);
}
Alguien me puede dar una mano? Desde ya aclaro que las configuraciones están bien. Mi profesor de programación dice que el TX del 628A envía un tren de pulsos con los datos, que debo hacer?