STM32的中断有两种属性,一个是抢占,另一个是响应。中断的编号越小,说明他的优先级越高。
抢占优先级:打断其他中断的优先级,即执行中断A的服务函数A过程中,被中断B打断,等中断B的服务函数执行完,再继续中断A的服务函数。

响应优先级:就是在相同的抢占优先级下,两个中断同时来,先处理响应优先级高的中断服务函数。

拿NVIC的寄存器来举例子
NVIC可以配置16个中断优先级,使用4位来控制
第0 组: 4 位都用来配置响应优先级。即16 种中断向量具有都不相同的响应优先级。

第1 组:最高1 位用来配置抢占优先级,低3 位用来配置响应优先级。
表示有2 种级别的抢占优先级(0 级,1 级),有8 种响应优先级,即在16 种中断向量之中,有8 种中断,其抢占优先级都为0 级,而它们的响应优先级分别为0~7,其余8 种中断向量的抢占优先级则都为1 级,响应优先级别分别为0~7。

第2 组:2 位用来配置抢占优先级,2 位用来配置响应优先级。即4 种抢占优先级,4 种响应优先级。

第3 组:高3 位用来配置抢占优先级,最低1 位用来配置响应优先级。即有8 种抢占优先级,2 种响应2 优先级。

第4组:所有4 位用来配置抢占优先级,即NVIC 配置的16 种中断向量都是只有抢占属性,没有响应属性

STM32----STM32的中断优先级理解相关推荐

  1. STM32中堆栈的理解

    STM32中堆栈的理解 关于程序的内存分配 栈区(stack):由编译器自动分配和释放,存放函数的参数与返回值.局部变量等. 堆区(heap):由程序员分配管理,一般未使用(malloc函数). 全局 ...

  2. 关于STM32 CAN FIFO的理解

    关于STM32 CAN FIFO的理解 首先,CAN_FMR->CAN2SB如果设置为0 ,CAN1没有被分配到筛选器,任何消息都不会被接收.请注意,FIFO会保存最后一个消息,读消息操作能够读 ...

  3. STM32 —— STM32 的串口通信

    STM32 -- STM32 的串口通信 STM32的串口通信接口有两种,分别是:UART(通用异步收发器).USART(通用同步异步收发器).而对于大容量 STM32F10x 系列芯片,分别有 3 ...

  4. 【STM32】中断和中断优先级理解

    在嵌入式系统开发过程中,不可避免的会和"中断"打交道.很多初学者对中断的理解不深,往往是看到中断绕着走.其实不然,费点时间搞懂中断能解决不少问题. 中断英文"Interr ...

  5. 基于STM32的12864液晶理解

    前言 字符型液晶显示模块是一种专门用于显示字母.数字.符号等点阵式 LCD,目前常用 161,162,202 和 402 行等的模块. 上面指的是以字符为单位,如161,也就是1行16列,最多能显示1 ...

  6. 【STM32】NVIC 中断优先级管理,抢占优先级,响应优先级,中断寄存器

    文章目录 抢占优先级和响应优先级 抢占 响应 NVIC 的优先级组 中断寄存器 ISER[8] ICER[8] ISPR[8] ICPR[8] IABR[8] IP[240] 中断优先级设置步骤总结 ...

  7. 【STM32】NVIC中断优先级管理(中断向量表)

    STM32F1xx官方资料: <STM32中文参考手册V10>-第9章 中断和事件 Cortex-M3内核支持256个中断,其中包含了16个内核中断(异常)和240个外部中断,并且具有25 ...

  8. 【STM32】 NVIC 中断优先级管理

    目录 中断解释 相关寄存器组介绍 设计逻辑 配置方法 总结 中断解释 NVIC:向量中断控制器. 中断可以看作是一个事件. 举例来说,你正在家里学习,突然来了电话,你只能停下当前的学习去接电话,在接电 ...

  9. 对PS2遥控手柄与stm32单片机通信的理解(结合平衡小车之家的说明和程序)

    为了更好地应用PS2遥控手柄,我想尽可能理解一下它与stm32单片机间通信控制的过程,首先看了平衡小车之家给的PS2遥控手柄使用说明,讲解的内容比较简洁,光凭这个说明不能很轻易地理解配套的程序逻辑,接 ...

  10. 单片机右摇杆c语言函数英文,对PS2遥控手柄与stm32单片机通讯的理解(结合平衡小车之家的说明和程序)...

    为了更好地应用PS2遥控手柄,我想尽量理解一下它与stm32单片机间通讯控制的过程,首先看了平衡小车之家给的PS2遥控手柄使用说明,讲解的内容比较简洁,光凭这个说明不能很轻易地理解配套的程序逻辑,接下 ...

最新文章

  1. TensorFlow2简单入门-单词嵌入向量
  2. gdb set写text/code段错误的解决办法
  3. phpcms 指定id范围 调用_Elasticsearch v7 中Java High-Level REST Client同步和异步调用
  4. charles修改响应体
  5. hadoop2.7 伪分布
  6. 如何去掉文章里的非关键词c++_B2B/B2C网站:文章标题如何写才能促进搜索排名...
  7. TCP解决connect函数的超时问题
  8. gui编写线性调频信号_是的,我编写了信号量,不,我不是OS开发人员。
  9. 09.QT应用程序启动外部exe文件
  10. oracle和sql server中,取前10条数据语法的区别
  11. 解决Android 音频Xrun问题
  12. Delphi7--Delphi7软件的介绍
  13. matlab示波器的峰值测量,峰峰值定义_示波器峰峰值怎么看
  14. 加权平均数的例子_加权平均值和算术平均值的区别与公式
  15. 制作u盘winpe启动盘_制作U盘启动盘
  16. 快闪类企业校园招聘H5,这么设计才够炫!
  17. SylixOS中断延迟队列
  18. 华为防火墙查看日志命令_华为防火墙命令
  19. 中文语音合成开源模型总结
  20. cmd md命令 创建文件夹

热门文章

  1. 使用CAS实现SSO.
  2. SpringBoot返回值封装
  3. 数字阅读市场陷入两强之争 掌阅能不能守住半壁江山?
  4. 微服务构建思路与方法论
  5. linux 五种 IO 模型
  6. matlab DSP6678,TI CC6678数字信号处理器 (DSP) 的50种用法
  7. 证明四元数表示旋转的过程实部为0,虚部为罗德里格斯公式结果
  8. 让App推广运营更高效,必须要有这几大功能!
  9. (转)如何彻底的卸载anaconda(包括配置文件)
  10. 深度学习——神经网络中的activation