中断系统学习

中断就是指,在主系统运行中,出现了特定的中断触发条件,使得CPU暂停当前正在运行的程序,转移到处理中断程序,处理完中断程序后返回原来的被暂停的程序

中断有这优先级,当有多种中断同时申请中断时,就会按中断的优先级进行判断。

中断嵌套,当一个中断程序正在运行时,又有新的更高的优先级的中断申请中断,此时CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次进行返回。

STM32使用NVIC统一中断,管理,每一个中断通道都拥有16个可编程的优先等级, 相当于分配当前使用中断的顺序。

NVIC的中断优先级是由优先级寄存器的4位决定,这4位可以进行切分,分为高n位的抢占优先级和低4-n位的响应优先级,抢占优先级高的可以中断嵌套,响应优先级高的可以优先派对,抢占优先级和响应优先级均相同的按中断号排队。

表示当前中断号的顺序,当抢占优先级和响应优先级均相同,就按照表中的数字顺序,数值小的优先响应。

上面表,是当前的分组方式

接下来就是外部中断,EXTI,可以用于监测GPIO的电平信号,当有变化的时候,就可以让EXTI立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使得CPU执行EXTI对应的中断程序,支持触发方式有,上升沿,下降沿,双边沿,软件触发,支持的GPIO口,但相同的pin不能同时触发中断,

通道数:16个GPIO外加PVD,RTC闹钟,USB唤醒,以太网唤醒,触发响应方式,中断响应,事件响应

相同的pin不能同时触发中断

AFIO主要用于引脚复用功能的选择和重定义,在STM32中AFIO主要完成两个任务,复用功能引脚重映射,中断引脚选择

在STM32使用中断函数,初始化,

第一步配置RCC将涉及到的外设时钟都打开

第二部配置GPIO,选择我们的端口

第三步配置AFIO,选择我们用的一路GPIO连接到后面的EXTI

第四步配置EXTI,选择边沿触发方式,例如上升沿下降沿,或者双边沿,触发响应方式,可以选择中断响应和事件响应

第五步配置NVIC当前的中断优先等级

        通过上述的配置就可以将外部中断配置使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值