入门嵌入式(二)——中断

什么是中断

程序在正常执行的过程中,停下来处理其他事务,处理结束后继续原来的逻辑,这就是中断。

NVIC 嵌套向量中断控制器

中断向量表
名称 -> 处理函数 优先级信息
EXTI0~ EXTI4
EXTI9_5
EXTI15_10

中断结束需要清除请求挂起寄存器,否则会一直触发处理函数。但是CubeMX会自动生成该部分逻辑代码。

优先级

  • 数字越小优先级越高
  • 中断分为抢占优先级和响应优先级
  • 两中断同时发生,先比较抢占优先级
  • 若抢占优先级相同,再比较响应优先级
  • 若响应优先级相同,在中断向量表靠前的触发
  • 四位bit 表示优先级

响应外部中断的内部流程

输入驱动器->外部中断线->边沿检测电路->请求挂起寄存器->NVIC中断控制器->中断处理函数->中断事务逻辑->清除请求挂起寄存器

其他中断

也会涉及:请求挂起寄存器和中断屏蔽寄存器,NVIC,中断向量,中断处理函数

其他

HAL_DELAY()函数需要系统滴答中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值