第N章 STM32学习笔记之OLED屏幕
第N章 STM32学习笔记之EXTI外部中断
目录
笔记:跟着B站视频做的学习笔记
主程序运行过程中,当中断条件满足时,使CPU暂停当前运行的程序而去处理中断程序,处理完中断程序后又返回原来被暂停的位置继续运行,叫中断
如:定一个闹钟,就可以放心睡觉,时间到了闹钟会提醒你,就相当于产生了一个中断信号,如果没有这个闹钟,就得不断地看时间,生怕错过起床点
当有多个中断发生时,CPU会根据中断优先级进行裁决,优先响应优先级高的中断
当一个中断程序正在运行时,又有新的更高优先级的中断来了,CPU会暂停当前中断,去执行新的优先级更高的中断,处理完成后依次进行返回
STM32有很多中断:如ADC、EXTI、TIM、USART、SPI等
如果把这些中断全部接到CPU上,那CPU还得引出很多线进行适配,设计上会很麻烦,并且如果很多中断同时申请,或者中断很多,产生了拥堵,CPU也很难处理
就像一个医生,如果同时出现很多病人一起看病,医生会忙不过来,这时候就需要一个叫号系统,叫到哪个病人的号码,医生就给哪个病人看病,一个一个解决,这个较好系统就是NVIC
NVIC有很多输入口,可以连接很多中断线路,但只有一个输出口,NVIC根据每个中断的优先级,对中断程序进行先后顺序分配,最后通过输出口告诉CPU要处理哪个中断,至于中断先后顺序分配的任务,CPU不需要知道,交给NVIC处理
为了处理不同形式的优先级,NVIC可以对优先级进行分组,分为抢占优先级和响应优先级
NVIC中断优先级由优先级寄存器的4位决定,可以自己配置如下分组:
EXTI(Extern Interrupt)外部中断:
每个GPIO外设有16个引脚,所以每个GPIO外设进去AFIO时都有16根线,但由于相同的pin只能选择一个,经过AFIO数据选择器后只能选择16个通道连接EXTI边沿检测及控制电路上,然后再接到NVIC触发中断和其它外设上
主要功能:引脚复用功能的选择和重定义
本章节讲了中断系统和EXTI的一些理论知识,具体的实操步骤见后面章节