hola amigod del foro:
Mi consulta es la siguiente estoy tratando de transferir una variable por dirección usando para ello un puntero....defino una variable, defino un puntero luego los asigno a ambos......
la transferencia es que quiero mandar un valor a la interrupción RB0 y que se manipukle ahi y que se vuleva con el nuevo valor al resto del programa....
pero lo que pasa es que cuando reviso dentro de la interrupción no me llega el valor de la variable sino 0 y con eso no hace nada.....
trate de hacerlo por variable..pero cuando salta por primera vez la interrupción no transfiere el valor lo hace en la segunda oportunidad......
aqui les pongo parte del programa .....para ver si me pueden ayudar...
gracias de antemano....
//////////////////////////////////////////////////////
// Variables Globales //
//
int x=1; defino variable global x
int *px; defino puntero
px=&x; asigo puntero a variable...
//////////////////////////////////////////////////////
main()
{
}
#int_ext
int encendido(*px)
{
printf("pase por aqui
"

;
printf("valor x= %d
",*px );
switch(*px)
{
case(1)://ENCENDIDO
{
output_high(PIN_A5);//
output_low(PIN_A0);
*px=0;
ext_int_edge(H_to_L);// interrupcion ALTO a BAJO
output_high(PIN_D2);
enable_interrupts(INT_RDA);
break;
}
case(0)://APAGADO
{
output_low(PIN_D2);
output_low(PIN_A5);
output_High(PIN_A0);
*px=1;
ext_int_edge(L_to_H);//interrupcion BAJO a ALTO
disable_interrupts(INT_RDA);
break;
}
}//Fin switch
}//Fin interrupción ext encendido