Prioridad entre interrupciones priorizadas

1

Estoy usando 2 interrupciones en LPC1778. Uno para CAN y otro para temporizador. El CAN interrumpe cada vez que se recibe un nuevo mensaje. El temporizador interrumpe cada 200uS. La prioridad para la interrupción del temporizador es la más alta (es decir, prioridad NVIC = 0). Mi duda es que si llega un mensaje CAN e im en el ISR, supongamos que se produce una interrupción del temporizador mientras está en CAN ISR, ¿se ejecutará el ISR de interrupción del temporizador y luego volverá a CAN ISR? O, ¿se podrá completar la interrupción CAN antes de que se ejecute la interrupción del temporizador? La prioridad se aplica solo si las dos interrupciones se producen al mismo tiempo o si se aplica la prioridad para la configuración de las interrupciones que no se pueden enmascarar bajo ninguna circunstancia. Porque, es muy importante que la interrupción del temporizador tenga que ejecutarse cada 200 uS en cualquier circunstancia.

    

1 respuesta

2

Consulte la multa Manual del usuario . El microcontrolador LPC1778 contiene un núcleo ARM Cortex-M3 que incluye el controlador de interrupción vectorial anidado (NVIC) . La palabra clave aquí es " anidada ", lo que significa que el controlador de interrupción admite excepciones e interrupciones anidadas, lo que significa que una interrupción activa puede ser precedida por una interrupción de mayor prioridad. Busque en el Manual del usuario los términos "nido" y "sustituto" para obtener más información.

Tendrá que configurar el controlador de interrupción y priorizar las interrupciones de manera apropiada para que se produzca la prioridad. Quizás elija utilizar la excepción SysTick para su temporizador para que tenga una prioridad más alta que la interrupción CAN. O si también usa una interrupción para el temporizador, deberá configurar la prioridad de grupo (consulte la sección 39.3.3.6) de las interrupciones para asegurarse de que el ISR del temporizador pueda adelantarse a la ISR CAN.

    
respondido por el kkrambo

Lea otras preguntas en las etiquetas