EXIT、NVIC中断配置

EXIT、NVIC中断配置
以配置PG8为例

1.配置GPIO为输入模式
使能GPIO和AFIO的时钟
电路中上拉,芯片也应设置为输入上拉模式(CRH、ODR)

2.AFIO-EXTICR3的配置
配置成PG引脚的
这里写图片描述

3.查找中断向量表(stm32参考手册table 63)
这里写图片描述
PG8 -> EXTI8 -> EXTI9_5 中断号是23(后面配置NVIC用到)

4.配置EXTI寄存器
通过External interrupt/event controller block diagram外部中断/事件控制块图及手册说明可知
这里写图片描述
如果要产生中断,必须事先配置好并使能中断线。
根据需要的边沿检测设置2个触发寄存器,同时在中断屏蔽寄存器(IMR)的相应位写1允许中断请求。
当外部中断线上发生了需要的边沿时,将产生一个中断请求,对应的挂起位也随之被置1。
在挂起寄存器的对应位写’1’,可以清除该中断请求。
综上:
设置中断边沿触发:FTSR、RTSR
关中断屏蔽(置1)

5.设置中断分组SCB_AIRCR

4位指定中断源的优先级
第0组:所有4位用于指定响应优先级
第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级
第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级
第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级
第4组:所有4位用于指定抢占式优先级
这里写图片描述

这里写图片描述

6.配置NVIC
这里写图片描述
这里用到 使能寄存器ISER、优先级寄存器IPR
上面我们通过中断向量表可知EXTI9_5中断号为23,用到第0组的寄存器
这里写图片描述
6.1 ISER[0]第23位置1
6.2 配置NVIC优先级寄存器IPR
这里写图片描述
例:若所设中断分组为第二组,2位抢占、2位响应,
若设置PG8所触发中断抢占优先级为2,响应优先级为1,即1001,填入IPR寄存器里对应位置
7.写中断服务程序
服务程序必须和汇编中的中断向量表中名一致

中断服务程序结束要在挂起寄存器的对应位写1,可以清除该中断请求。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值