stm32,有84个中断,16个内部+68个外部。其中不仅指外设部分。还有16级可编程中断优先级,使用中断优先级设置的8bit中的高4位。
68个终端通道已固定分配好,每四个通道构成一个32位优先级寄存器。68个通道有17个32位优先级寄存器。
优先级分为:抢占式优先级(可嵌套)和响应式优先级(不可嵌套,按顺序执行)
一个通道的优先级寄存器有四位。四位分为5组:
第0组:所有4位用于指定响应优先级
第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级
第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级
第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级
第4组:所有4位用于指定抢占式优先级
中断程序包含几部分:
1、exti.h文件
2、exti.c文件: 外设GPIO+时钟、
外设中断+时钟+pin设定、
中断优先级+优先级分组。
3、stm3210x_it.c 中断处理函数
4、main.c的
init
while循环