1.什么是EXTI外部中断
中断:在主程序运行过程中,出现了特定的中断触发条件(终端源),使得CPU暂停当前正在运行的程序,转而去处理终端程序,处理完成后又返回原来被暂停的位置继续运行。
外部中断:通过监测指定GPIO端口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序。
2.EXIT中断配置过程
1.NVIC
嵌套中断向量控制器
为了不将所有的中断直接接到CPU上,通过NVIC对中断的优先级进行判断,然后将最紧急的那个中断接到CPU那一端
2.NVIC优先级分组
NVIC的中断优先级由优先级寄存器的4位(0-15)决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级。4位二进制可以表示0-15的数
抢占优先级高的可以中断嵌套,响应优先级高的可以优先排队,抢占优先级和响应优先级均相同的按中断号排队。
3.外部中断配置流程
GPIOA、GPIOB、GPIOC等GPIO的0-15共16个端口全都连接到AFIO模块,AFIO的模块作用是选择GPIO,比如pin10对应EXTI10,当pin10检测到变化时触发EXTI10中断,但是我们不知道pin10是属于哪个GPIO的,AFIO的作用就是选择GPIO。