目标:把之前检测按键功能由轮询的方式改为中断
1.0 中断控制器
当使用中断时,首先中断控制器
NVIC 可嵌套的向量中断控制器
VIC 向量中断控制器
GIC 通用中断控制器 -----> 高端板子
一般情况下MCU使用NVIC和VIC
1.1 在STM32F103RBT6中的中断
NVIC和ARM-CORTEX-M3紧密相连
NVIC会处理两件事情:
1.为每一个连接到NVIC的中断源分配一个中断号,中断号的顺序一定和中断向量(异常处理函数)保持一致
2.处理优先级的问题
本身ARM 提供8bit的空间来解决256个优先级,但是ST公司只用了4bit 用于处理16个优先级
1.2 通过手册了解EXTI中断
《STM32f10x中文参考手册》8.1.2章节中所指示的是中断和异常向量表
编号越小的中断,优先级越高
表36中所指示的内容是不可以修改的
首先关注EXTI,他表示外部中断,可以配置成19个中断事件源
16个用来处理外部中断,剩余的3个用来处理其他外部中断
GPIO管脚可以触发中断,但是需要借助EXTI
PA0 PB0 PC0 PD0...都可以触发EXTI0
...
PA15 PB15 PC15 PD15...都