#INT_EXT
función (){
código
}Y cada compilador utiliza funciones distintas.
si se activan 2 o 3 interrupciones al mismo tiempo que pasaría entonces?
Entonces Aunque el GIE esta en 0 los registros de los flags pueden cambiar y como bien dices podría producirse en una interrupción más de una función. Lo cual que el GIE se ponga en 0 no implica que bloquee cualquier cambio en los registros flags.
Porque como bien dices existe la posibilidad de que el flag 2 haya ejecutado la interrupción pero en un tiempo muy pequeño se ejecuta el flag 1. Si nuestro programa consiste en 2 leds que se encienden indicando el orden en que los flags se han puesto en uno.
El programa fallara porque si nosotros en la dirección de interrupción tenemos:Código: Cprimero se ejecutara el if(flag1) y despues (flag2) y no respetando el orden que queríamos.
void interrupt funcion(void){ if(flag1) if(flag2) }
Existe alguna solución para esto?