Hola amigos, necesito un aventoncito porque ya me hice bolas aqui
, lo que quiero es contar los estados bajos que arroja un reed switch, pero lo hace extremadamente rapido es decir, aprox 20 bajas por segundo, y quiero saber cuantas bajas son en un miinuto... por lo que me lleva a la idea de que cada baja que se detecte por RB0 por flanco descendente haga una interrupcion y la almacene en una variable global "X" y asi sucesivamente durante el minuto, y cuando llegue al minuto hacer otra interrupcion para leer la variable "x" y mostrarla en Hyperterminal los pulsos (estados bajos ) que dio el reed switch..
Aqui dejo algo de codigo :S
long int x=0;
#bit RB0=0x6.0
#int_EXT
#int_TIMER0
void EXT_isr(void){
x++;
set_timer0(60)
{
if(set_timer0>61)
{
get_ext(x);
}
}
void main(){
RB0=0;
set_tris_b=(0xFF);
set_timer0(60)
ext_int_edge(H_TO_L);
enable_interrupts(GLOBAL);
globalenable_interrupts(INT_EXT);
while(true);
}
}
Al parecer esta mal la estrcutura del codigo, pero no he encontrado ejemplos de almacenar el resultado de pulsos :S alguien tiene otro metodo, porfavor una ayudita.