美文网首页我爱编程
对STM32中断的理解

对STM32中断的理解

作者: yuanliangx | 来源:发表于2017-12-20 09:29 被阅读0次

  第一:STM32的中断类型分为两种:抢占优先级和响应优先级。抢占优先级决定了抢占行为,即当系统正在响应某中断L的时候,如果来了抢占优先级更高的异常H时,则H可以抢占L。而当抢占优先级相同的异常不止一个触发时,则最先响应响应优先级高的异常。如果抢占优先级和响应优先级都是相同的,则根据中断在中断向量表中的顺序进行响应。
  第二:在对中断优先级进行定义时需要明确两个值。

  • 芯片实际使用多少位来表达优先级,其中分别有多少位可以用来定义抢占优先级和响应优先级。
  • 每个中断源的优先级如何定义。
    针对第一个问题有了中断优先级分组的定义
void NVIC_PriorityGroupConfig(u32 NVIC_PriorityGroup)中断分组设置

STM32把指定中断优先级的寄存器位减少到4位(AIRCR高四位),这四个思存器的分组方式可以有五种:
第0组:所有4位用于指定响应优先级
第1组:最高1位用于指定抢占式优先级,最低3位用于指定响应优先级
第2组:最高2位用于指定抢占式优先级,最低2位用于指定响应优先级
第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级
第4组:所有4位用于指定抢占式优先级
可以通过调用STM32的固件库中的函数NVIC_PriorityGroupConfig()选择使用哪种优先级分组方式,这个函数的参数有下列5种:
NVIC_PriorityGroup_0 => 选择第0组
NVIC_PriorityGroup_1 => 选择第1组
NVIC_PriorityGroup_2 => 选择第2组
NVIC_PriorityGroup_3 => 选择第3组
NVIC_PriorityGroup_4 => 选择第4组
  中断优先级分组只是为了给抢占式优先级和响应优先级在中断优先级寄存器的高四位分配各个优先级数字所占的位数。
  针对第二个问题即单独定义每个中断源的中断级别。

void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)中断优先级设置

中断源优先级是在中断优先级寄存器中设置的,只能设置及高四位,必须根据中断优先级分组中设置好的位数来在该寄存器中设置相应的数值。假如你选择中断优先级分组的第3组:最高3位用于指定抢占式优先级,最低1位用于指定响应优先级,那么抢占式优先级就有000-111共八种数据选择,也就是有八个中断嵌套,而响应优先级中有0和1两种,总共有8*2=16种优先级。
  在设置了中断优先级分组的情况下,可以在规定的位数内指定每个中断源的抢占优先级和响应优先级。

参考

相关文章

  • 对STM32中断的理解

      第一:STM32的中断类型分为两种:抢占优先级和响应优先级。抢占优先级决定了抢占行为,即当系统正在响应某中断L...

  • STM32外部中断

    STM32 的每个 IO 都可以作为外部中断的中断输入口,这点也是 STM32 的强大之处。GPIO 的管脚 GP...

  • 按键与中断处理

    NVIC中断工作原理 cortex-m3支持256个中断,其中包含了16个内核中断,240个外部中断。stm32中...

  • STM32一文通(5) 中断概览

    STM32 中断非常强大,每个外设都可以产生中断 中断优先级数值越小级别越高 中断的类型分两类: 1. 系统异常(...

  • 4.5每日站报

    DONE STM32定时器中断的实现 数电加法器部分 理解会长串口调试的代码 TODO 写大物作业 QT上位机继续

  • stm32零基础入门,应学习那些知识

    首先我们先看看与STM32相关的文档 我们假定大家已经对STM32的书籍或者文档有一定的理解。如不理解,请立即阅读...

  • 4.STM32之中断式按键

    1.STM32中断概述 中断优先级 在使用中断式按键之前,我们先去了解一下STM32的中断。关于这方面可以参考《S...

  • STM32之外部中断

    关于stm32 的外部引脚中断的简单应用;用来添加一个外部引脚中断;更改IRQ_Handler函数可以实现不同的中...

  • stm32 外部中断

    首先,要理清楚,什么是中断。 中断的意思是,比如CPU是主角,他正在工作,忽然间GPIO口跟他讲,这件事需要他来做...

  • 4.4每日站报

    DONE STM32定时器中断部分的学习 学习数电译码器部分 写了关于定时器中断的学习笔记 TODO 完成STM3...

网友评论

    本文标题:对STM32中断的理解

    本文链接:https://www.haomeiwen.com/subject/fzbwwxtx.html