****************************************************************EXTI之按键中断实验****************************************************************************
1,原理:EXTI就是指外部中断,通过GPIO检测输入脉冲,引起中断事件,打断原来的代码执行流程,进入到中断服务函数中进行处理,处理完后再返回到中断之前的代码中执行。
STM32对Cortex中断向量表重新排列,把优先级编号从-3到6的中断向量定义为系统异常,编号为负的内核异常不能被设置优先级,如复位、不可屏蔽中断、硬错误。从编号7开始的为外部中断,这些中断的优先级都是可以自行设置的。对于这些编号的对应内容大家可以自己去查找STM32向量表查看。在实际使用中最好从启动文件中查找,本实验用的启动文件是startup_stm3232f10x_cl.s,在编写中断服务函数时,需要从启动文件中定义的中断向量表中查找中断服务函数名。
STM32中有一个强大而方便的中断控制器NVIC。NVIC是属于Cortex内核的器件,不可屏蔽中断(NMI)和外部中断都由它来处理,而SYSTICK不是由其控制的。对NVIC初始化,首先定义并填充一个NVIC_IbitTypeDef类型的结构体。这个结构体有4个成员:
NVIC_IRQChannel :需要配置的中断向量
NVIC_IRQChannelCmd:使能或者关闭相应中断向量的中断响应
NVIC_IRQChannelPreemptionPriority:配置相应中断向量抢占优先级
&nbs