STM32中断嵌套 HAL(韦东山7天物联网智能家居实战训练营 学习笔记)

1. 通常,把CPU内部产生的紧急事件叫做异常,比如非法指令(除零)、地址访问越界等;把来自CPU外
部的片上外设产生的紧急事件叫做中断,比如GPIO引脚电平变化、定时器溢出等。异常和中断的效果基本
一致,都是暂停当前任务,优先执行紧急事件,因此一般将中断和异常统称为中断。
2. 在Cortex-M3中,将优先级拆分为抢占优先级(Preempt Priority)和子优先级(Subpriority),每个中断都需要指定这两级,具有高优先级的中断可以打断低优先级的中断,实现中断嵌套。通过应用中断和复位控制寄存器(Application Interrupt and Reset Control Register,AIRCR)的Bits[10:8](PRIGROUP)将优先级分组。分组决定每个可编程中断的PRI_n的Bits[7:0]的高低位分配,从而影响抢占优先和子优先级的级数,
3. 可以在初始化的时候使用函数HAL_NVIC_SetPriorityGrouping();来选择中断怎么分组
	a. 这个函数在hal库中,HAL_Init()函数里面有被调用
4. 在开启一个中断之前也需要对中断进行优先级设置,使用函数HAL_NVIC_SetPriority()。
5. 开启中断使用函数HAL_NVIC_EnableIRQ()
6. 中断优先级的理解
	a. 数字越小,优先级越高
	b. 抢占优先级高的中断可以打断抢占优先级低的中断
	c. 如果两个中断是同时发生的,而且两个中断的抢占优先级相同,就得看子优先级了,子优先级高		的先执行中断处理,如果子优先级也相同,就得看启动文件中中断向量表的先后顺序,顺序先的先执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值