STM32单片机----外部中断EXTI学习

可屏蔽中断和不可屏蔽中断:  

        按照是否可以被屏蔽,可将中断分为两大类:不可屏蔽中断(又叫非屏蔽中断)和可屏蔽中断。不可屏蔽中断源一旦提出请求,CPU必须无条件响应,而对可屏蔽中断源的请求,CPU可以响应,也可以不响应。CPU一般设置两根中断请求输入线:可屏蔽中断请求INTR(Interrupt Require)和不可屏蔽中断请求NMI(NonMaskable Interrupt)。对于可屏蔽中断,除了受本身的屏蔽位控制外,还都要受一个总的控制,即CPU标志寄存器中的中断允许标志位IF(Iinterrupt Flag)的控制,IF位为1,可以得到CPU的响应,否则,得不到响应。
GPIO口与EXTI外中断的映像图:
STM32单片机----外部中断EXTI学习



 EXTI线16连接到PVD输出,EXTI线17连接到RTC闹钟事件,EXTI线18连接到USB唤醒事件。
 
 
STM32单片机----外部中断EXTI学习
 
 
STM32单片机----外部中断EXTI学习
 
 
STM32单片机----外部中断EXTI学习
 
 
STM32单片机----外部中断EXTI学习
 
 
STM32单片机----外部中断EXTI学习
 
 
STM32单片机----外部中断EXTI学习
 
以上为EXTI外部中断的各寄存器,在直接操作寄存器编程时需要了解,了解怎样配置EXTI寄存器。
NVIC的概念:   
       NVIC,中文名嵌套中断向量控制器,是Cortex-M3系列控制器内部独有集成单元,与CPU结合紧密,降低中断延迟时间并且能更加高效处理后续中断。举个例子,比如火车站买票,那些火车站的规章制度就是NVIC,规定学生和军人有比一般人更高优先级,它们则给你单独安排个窗口,同学与同学之间也有区别,那就是你也得排队,也就是你的组别(抢断优先级)和你的排队序号(响应优先级)决定你何时能买到票。

       抢断优先级,顾名思义,能再别人中断是抢占别人中断,实现中断嵌套。响应优先级则只能排队,不能抢在前面插别人的对,即不能嵌套。

STM32中指定优先级的寄存器为4位,其定义如下:

第0组:所有4位用于指定响应优先级

第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级

第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级

第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级

第4组:所有4位用于指定抢占式优先级

以上定义也称作中断优先级分组,相关内容在STM32固件库的misc.h文件中有详细定义。

 

STM32--EXTI外部中断的编程步骤:

可分为2大步,第1步初始化EXTI,第2步初始化NVIC.

                  1.配置EXTI的外部中断源。
        2.定义结构体EXTI_InitTypeDef的结构体类型。配置EXTI的中断线、配置EXTI的模式(中断模式和事件模式)、配置EXTI的触发方式(上升沿,下降沿,上升下降沿触发)、配置使能EXTI的外部中断线。
        3.初始化EXTI的参数设置(EXTI_Init)
              4.配置NVIC的优先级组(共有5组,分别是NVICNVIC_PriorityGroup_0~NVIC_PriorityGroup_4)
        5.定义结构体NVIC_InitTypeDef的结构体类型。配置NVIC的向量通道、配置抢占优先级、配置响应优先级、使能NVIC
        6.初始化NVIC的参数设置(NVIC_Init)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值