La mayoría de las plataformas 8052 estándar permiten al usuario configurar las interrupciones para que tengan dos posibles prioridades: la más alta, durante la cual cualquier interrupción pendiente debe esperar, y la más baja, que puede ser interrumpida por las interrupciones de nivel superior, pero las de nivel inferior pueden esperar.
Ahora, si tienes un trabajo que hacer dentro de la interrupción que lleva algún tiempo, no es absolutamente crítico en cuanto al tiempo, y puede ser interrumpido por otras interrupciones, el enfoque habitual es dejar caer los datos que la interrupción recogió en un búfer, establecer una bandera de que hay el manejo de un trabajo pendiente, y luego dejar que el bucle principal llegue a una comprobación de la bandera, y realizar ese trabajo.
Sin embargo, hay un truco que permite ahorrar algo de tiempo y hacer que el trabajo se ejecute directamente desde el vector de interrupción, pero con la prioridad del bucle principal - interrumpible por ambos niveles de interrupción, creando esencialmente un tercer nivel de interrupción, por debajo de los dos niveles existentes.
¿Cómo se consigue esto?