一、外部中断
spi,iic的中断和51单片机不一样,这些在stm32属于外设,是外部中断。
因为STM32的中断非常多,因此必须设置中断优先级
STM32有两个优先级的概念:抢占式优先级和响应式优先级(亚优先级,副优先级)
抢占式优先级:高抢占式优先级的中断事件会打断当前主程序以及中断程序运行,俗称中断嵌套。
响应优先级:在抢占式优先级相同的情况下,高响应优先级的中断优先被响应;
在抢占式优先级相同的情况下,如果有低响应优先级中断正在执行,要等待其结束后才能得到响应,即不能嵌套。
先看抢占式优先级,在看响应优先级,抢占式优先级决定是否会有中断嵌套。
如果抢占式优先级和响应优先级都相同,那么更加官方手册给的各种中断的默认顺序执行。
意思是,如果被分到第1组,那你就可以设置最高2级的抢占式优先级,最高8级的响应优先级。
左图的意思是,可以将那些对应的引脚设置为对应的外部中断输入口,即PA0,PB0,PC0....PG0可以用库函数设置为外部中断0的输入脚。
接下来上外部中断代码(库函数实现,代码未测试不一定对):
#include "stm32f10x.h"
#include "misc.h"
#include "stm32f10x_exti.h"
v