NVIC
The Nested Vectored Interrupt Controller (NVIC) is a component of ARM Cortex-M microcontrollers that manages interrupt handling for both core exceptions and external interrupt requests. It enables preemption and nesting of interrupts, providing low-latency response to asynchronous events from peripherals and the system.
Key features of the NVIC include programmable interrupt enabling and disabling, pending and active state tracking,
The NVIC interfaces with the system control block and vector table. When an interrupt occurs, the NVIC
Implementation details vary by device, but in typical Cortex-M microcontrollers the NVIC supports a scalable number