Hola estoy queriendo hacer una cominicacion por rf entre un pic 12f675 y un pic 16f628a, el 12f es el emisor que al cambiar el estado de RA4 tendria que mandar la letra B por serial pero lo que pasa es que la interrupcion por cambio de estado en el pic 12f cuando presiono el boton RA4 no me la detecta, este es el programa emisor, agradeceria una mano con esto#include <12F675.h>
#FUSES WDT
#FUSES INTRC
#FUSES NOMCLR
#FUSES NOBROWNOUT
#FUSES PROTECT //Code protected from reads
int8 cont=0;
#use delay(int=4000000)
#use rs232(baud=4800,parity=N,xmit=PIN_A1,rcv=PIN_A0,bits=8,stream=PORT1)
#INT_RA //interrupcion por cambio de estado en pines
Transmision(){ //Interrupcion por cambio de estado en pines
if(!input(PIN_A3)){ // RA3 es 0 ?? esto solo por confirmar pregunto por 0 por eso el sigo " ! "
//Se envía cuatro veces la "A" con un intervalo de 100 ms.
for(cont=0; cont<4; cont++)
{
printf("A");//envia llamada cama 1
delay_ms(100);
restart_wdt();
} // if
if(!input(PIN_A4)){ // RA4 es 0 ?? esto solo por confirmar pregunto por 0 por eso el sigo " ! "
//Se envía cuatro veces la "B" con un intervalo de 100 ms.
for(cont=0; cont<4; cont++)
{
printf("B");//cancela llamada cama 1
delay_ms(100);
restart_wdt();
} // if
}
}
}
void main()
{ setup_wdt(WDT_1152MS);
setup_timer_1 ( T1_INTERNAL | T1_DIV_BY_8 ); //Para poder generar 200ms
setup_comparator(NC_NC); // Todo digital
set_tris_a(0xFF); //
enable_interrupts(GLOBAL); //Interrupciones Habilitadas
enable_interrupts(INT_RA3);
enable_interrupts(INT_RA4);
//Bucle infinito.
while(TRUE)
{
SLEEP();
}
}