1. STM32的中断分为RAM内核和外设的中断,内核部分除systick中断外其余优先级均不可设置,内核优先级默认高于外设优先级
内核的复位优先级最高
2. 中断优先级设置,不管是新库还是老库只需要配置以下几个参数即可,新库与老库函数不同,但原理一样
a.设置中断优先级分组
b.设置抢占优先级和子优先级
c.设置中断通道
d.使能中断
3. 中断服务函数一定要与中断向量表的函数一致,在启动文件中有对应的中断向量表
4. 在老库stm32f10x.h/新库stm32f105xc.h中既有所有中断通道的定义,有包含所有寄存器地址的映射
5. EXTI外部中断与普通的中断不同配置步骤如下
a.初始化APB2的GPIO时钟和AFIO时钟
b.初始化GPIO,模式老库为浮空输入模式,新库为中断模式
c.初始化外部中断线,配置外部中断模式,
d.使能外部中断
e.与2一致,开启中断,写中断服务函数
f. 注意外部中断线0-4有对应的中断服务函数,其他的多个中断共用一个函数,需要判断GPIO的IDR寄存器判断哪个IO发生变化