STM32中断主题:
1什么是中断
暂停原先的程序或事情,执行另外一些程序或事情,执行完成后返回原来的程序。
2为什么要中断
因为另一些程序或事情比你原先正在做的事情要重要,或者这些突发事情你是无法控制它的来临的。
3 中断的分类
按不同方法进行分类
3.1 内部中断,外部中断 (向量表中灰色为内部)
3.2 可设置中断,固化中断
3.3 中断向量表 (cl级别的芯片有10个内部 ,0~67个外部,一些没用到,其中通用化 中断编号0~17,个性化中断编号18~67)
3.4 优先级别 (由主优先级和从优先级组成,主从优先级可以通过4个位进行设置)
4 中断的组成
具体中断的名称
中断的地址 用来保存一条跳转指令,跳到哪里去
5 中断的特点
STM32的中断NVIC是嵌入CORTEX内核的。
5.1中断的反应的速度就很快。
5.2中断可以实现标准话
(上面两点是ARM公司做的)
5.3所有外部IO端口都可以作为外部中断
(上面一点是ST公司做的)
5.4有不同的优先级,只有主优先级相同的中断才可以嵌套,
6 中断的配置流程
6.1 时钟配置
6.2 GPIO配置
6.3 外设中断配置(EXTI中断也属于外设中断)
6.4 NVIC总中断配置
6.5 中断程序编写
7 其中 EXTI中断配置流程及内容
官方参考手册P206可知 ,3个触发,3个控制
触发:上升沿 下降沿 软件中断事件
控制:中断屏蔽寄存器 请求挂起寄存器 事件屏蔽寄存器
*不同的外设中断配置流程及内容可能不同
*其中6.3是变化的,根据要使用的中断而定,其他配置基本相同,只是参数不同。
8 几个概念区分
NVIC,NVIC 外设中断,NVIC 外部接口中断 EXTI
简单来说 NVIC》NVIC外设中断》EXTI
其中NVIC是总的嵌套向量中断 就是整个向量表
外设中断 是向量表中非灰色地带
而EXTI仅仅是外设中断的一部分(由于它用的比较广泛且与其他外设中断有所不同,因此拿出来单独讲)
由于EXTI有很多很多,所以STM把他们进行了分组,分了7组,每组对应了一个NVIC外设。
EXTIO--------------------------------------------------(包括PA0 PB0 PC0 PD0 PE0 PF0 PG0)
EXTI1
EXTI2
EXTI3
EXTI4
EXTI9_5
EXTI15_10