中断及EXTI外部中断基本概念
1.1 什么是中断?中断与异常有何区别联系?
中断是一种硬件或软件机制,用于暂时挂起当前正在执行的程序,转而执行一个特定的程序(即中断服务程序),以处理某个事件。当这个特定程序执行完毕后,控制权会返回给原来被挂起的程序继续执行。
中断与异常的主要区别在于:
·中断通常是由外部设备触发的,而异常是由处理器内部的事件触发的。
·中断可以嵌套,即一个中断服务程序可以再次触发另一个中断;而异常通常不会嵌套。
·中断的处理过程包括保存现场、跳转到中断向量表、执行中断服务程序、恢复现场等步骤;而异常的处理过程相对简单,只需要跳转到异常向量表并执行相应的异常处理程序即可。
1.2 Cortex-M3与STM32F103分别有多少中断源?
Cortex-M3有4个中断源:系统定时器中断、PendSV中断、SysTick中断和NMI中断。
STM32F103有5个中断源:系统定时器中断、PendSV中断、SysTick中断、NMI中断和外部中断。
1.3 什么是NVIC?简述NVIC进行中断管理的流程。
NVIC(Nested Vectored Interrupt Controller)是ARM Cortex-M系列处理器中的可嵌套向量中断控制器,负责管理和控制中断。
NVIC的主要功能