TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: micro_pepe en 29 de Noviembre de 2008, 09:29:12

Título: Deshabilitar interrupcion en la propia interrupcion.
Publicado por: micro_pepe en 29 de Noviembre de 2008, 09:29:12
Tengo una duda de si se puede hacer algo así:

Código: [Seleccionar]
#INT_EXT
int1(){
-------
-------
Deshabilitar INT_EXT;
}

#INT_TIMER0
int2(){
---------
---------
cont++;
if(cont==32)
     Habilitar INT_EXT;
}

Lo que trato de hacer es detectar el inicio de una trama de un mando a distancia, y despues tomar 32 muestras de dicha trama. Mientras tomo las 32 muestras, no se debe provocar la in terrupcion INT_EXT.

Un saludo.
Título: Re: Deshabilitar interrupcion en la propia interrupcion.
Publicado por: MLO__ en 29 de Noviembre de 2008, 13:21:51
Hola.

Si se puede amigo, yo lo he hecho para hacer un control de fase, cuando detecto el flanco con la interrupcion CCP1 habilito las interrupciones con el Timer0, una vez el Timer0 hace lo que tiene que hacer lo deshabilito dentro de la interrupcion del Timer0 y espero al proximo flanco para volverlo a activar desde CCP1

Saludo
Título: Re: Deshabilitar interrupcion en la propia interrupcion.
Publicado por: micro_pepe en 29 de Noviembre de 2008, 14:29:07
OK, duda resuelta, ahora me pregunto si es posible leer directamente el estado del pin RB0 cuando se usa como interrupción externa.

Un saludo.
Título: Re: Deshabilitar interrupcion en la propia interrupcion.
Publicado por: MLO__ en 29 de Noviembre de 2008, 15:41:39
Hola.

Pues eo que si debe poderse hacer, solo que cuando cambia de flanco -segun el que se halla configurado para la interrupcion- saltaria la interrupcion.

Saludos