NVIC Registro pendiente vs EXTI Registro pendiente (STM32F4)

2

¿Por qué hay dos registros pendientes de interrupción? Uno de ellos es EXTI_PR y el otro es Registros pendientes de conjuntos de interrupciones (ISPR) que se encuentran en los registros del controlador NVIC.

unidad EXTI pendiente de registro:

UnidaddeNVICRegistropendiente:

¿Estos dos tienen el mismo propósito? Si no, ¿cuál es la diferencia?

También estoy confundido acerca de Registros de habilitación de conjuntos de interrupción (ISER) en la unidad NVIC y Registro de máscara de interrupción en la unidad EXTI. ¿Cuál es la diferencia entre ellos?

    
pregunta Amin

1 respuesta

3

El NVIC es el periférico central para manejar interrupciones. El controlador de interrupción vectorial anidado si la memoria me sirve bien.

El NVIC no sabe qué periférico hace qué, simplemente maneja todas las interrupciones provenientes de ellos.

El registro NVIC_ISPR0-7 se utiliza para desencadenar interrupciones por software, por lo que escribe un 1 en el bit y la correspondiente interrupción estará pendiente y, si la interrupción está habilitada, se manejará.

Ahora los periféricos del STM32 tienen sus propias capacidades para afinar las fuentes de interrupción. La unidad de interrupción externa que está mirando puede disparar hasta 22 interrupciones diferentes, solo una parte de ellas están asignadas a los propios vectores de interrupción del NVIC. Por lo tanto, para distinguirlos, debe verificar el registro EXTI_PR que interrumpe las interrupciones que está manejando actualmente.

Si te fijas bien, puedes ver que no puedes establecer bits en el registro EXTI_PR simplemente escribiendo un 1 en él, que en realidad borrará el bit (lo que debes hacer en algunos casos).

El registro de habilitación de conjunto de interrupciones del NVIC le proporciona el nivel aproximado de habilitación o inhabilitación de interrupciones. Por ejemplo, puede habilitar el bit EXTI9_15 allí, que ahora habilitará todas las interrupciones EXTI de la línea 9 a la 15, pero tal vez solo desee una interrupción de la línea 12 de EXTI. Por lo tanto, para permitir el ajuste fino de esto, el registro de máscara de interrupción EXTI permite solo debe habilitar la línea 12 para activar una interrupción.

    
respondido por el Arsenal

Lea otras preguntas en las etiquetas