STM32之NVIC

2023-11-17

STM32(Cortex-M3) 中NVIC(嵌套向量中断控制)的理解

一、STM32 (Cortex-M3) 中的优先级概念

   STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先级”,每个中断源都需要被指定这两种优先级。

1. 何为占先式优先级(pre-emption priority)

   高占先式优先级的中断事件会打断当前的主程序/中断程序运行—抢断式优先响应,俗称中断嵌套。

2. 何为副优先级(subpriority)

   在占先式优先级相同的情况下,高副优先级的中断优先被响应;

   在占先式优先级相同的情况下,如果有低副优先级中断正在执行, 高副优先级的中断要等待已被响应的低副优先级中断执行结束后才能得到响应—非抢断式响应(不能嵌套)。

3. 判断中断是否会被响应的依据

   首先是占先式优先级,其次是副优先级;

   占先式优先级决定是否会有中断嵌套;

   Reset、NMI、Hard Fault 优先级为负(高于普通中断优先级)且不可调整。

4. 优先级冲突的处理

   具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断的嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。

   当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。

5. Cortex-M3中对中断优先级的定义

   既然每个中断源都需要被指定这两种优先级,就需要有相应的寄存器位记录每个中断的优先级;在Cortex-M3中定义了8个比特位用于设置中断源的优先级,这8个比特位可以有8种分配方式,如下:

所有8位用于指定响应优先级
最高1位用于指定抢占式优先级,最低7位用于指定响应优先级
最高2位用于指定抢占式优先级,

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32之NVIC 的相关文章

  • 解决 VMware 虚拟机 中被提示 “请不要在虚拟机中运行此程序”或者“Themida Sorry, this application cannot run under a Virtual Mac

    解决 VMware 虚拟机 中被提示 请不要在虚拟机中运行此程序 或者 Themida Sorry this application cannot run under a Virtual Machine 设置 xff1a 1 用记事本打开
  • 在eclipse中调试时,怎样查看一个变量的值?

    在要查看的变量前先设置断点 然后选中变量 右键选debug as gt Java Application 打开debug 透视图 这时在Variables 窗口中可以看到变量当前的值 如果是局部变量 也可以在局部变量窗口中查看 要知道一个方
  • 推荐:个人时间跟踪工具 ManicTime

    http www cnblogs com zhoujg archive 2011 12 08 1645901 html 推荐 个人时间跟踪工具 ManicTime 在 个人管理 目标管理之前 你会时间管理吗 中我介绍的时间管理三阶段之一 对
  • FreeSWITCH 架构

    从来章开始 我们正式开始我们的 FreeSWITCH 之旅 今后我们不再用单独的章节来讲述VoIP中的其它要素和概念 而是在用到时穿插于各个章节之中 总体结构 FreeSWITCH 由一个稳定的核心及外围模块组成 下图来自 FreeSWIT
  • 使用eclipse IDE搭建C/C++开发环境

    visual studio 2008 功能是很强大 但是我用到的仅仅是它的 visual C 部分 而且组件很多 大部分都不知道是什么用的 安装下来快 2G 了 对于 C 盘紧张我的来说 无疑是一种浪费磁盘 于是卸载了 visual stu
  • flex阶段总结

    关于从XML中读取到的中英文乱码 在flex应用程序中加入语句 flash system System useCodePage true 处理中文乱码 日期格式的修改 var datefamate DateFormatter new Dat
  • [Flex]在TextArea中嵌入圖像

    TextArea的htmlText支持多種html標簽 如 a b br font img 等 這裏使用 img 標簽來將圖片嵌入到TextArea中 img 標簽可用于嵌入JPEG GIF PNG及SWF等媒體文件到文本框中 文本會自動分
  • 框架(Framework)

    框架 Framework 框架 Framework 是整个或部分系统的可重用设计 表现为一组抽象构件及构件实例间交互的方法 另一种定义认为 框架是可被应用开发者定制的应用骨架 前者是从应用方面而后者是从目的方面给出的定义 可以说 一个框架是
  • GraphEdit使用

    GraphEdit 是一个用于建立和测试Filter graph 的可视化工具 在DirectX SDK 中附带一个可执行程序版本 在SDK目录中的Bin DXUtils graphedt exe 你可以快速测试你建立的Filter gra
  • Qt Creator登录对话框

    实现功能 在弹出对话框中填写用户名和密码 按下登录按钮 如果用户名和密码均正确则进入主窗口 如果有错则弹出警告对话框 实现原理 通过上节的多窗口原理实现由登录对话框进入主窗口 而用户名和密码可以用if语句进行判断 实现过程 1 先新建Qt4
  • 六款常用的linux C/C++ IDE

    摘要 一 AnjutaAnjuta是一个多语言的IDE 它最大的特色是灵活 同时打开多个文件 内嵌代码级的调试器 调用gdb 应用程序向导 Application wizards 可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴
  • Android面试常用面试题

    1 Android手机横竖屏切换的问题及其解决方案 默认情况下 横竖屏切换的时候 系统会销毁当前的Activity 然后新建一个Activity 显然 太浪费资源了 http www cnblogs com zhangkai281 arch
  • Dropbox免费网盘高级使用技巧

    通过充分开发DropBox这个优秀的免费网络同步硬盘的功能 我们其实还可以实现很多常规玩法之外的高级应用 例如获得额外存储空间 或是拿来管理你的BT下载客户端等等 http db tt F6TkzeWG 通过此地址注册可得到2 25G 你也
  • Oracle V$SESSION详解

    V SESSION是APPS用户下面对于SYS V SESSION 视图的同义词 在本视图中 每一个连接到数据库实例中的session都拥有一条记录 包括用户session及后台进程如DBWR LGWR arcchiver等等 V SESS
  • EL表达式语言

    引用 http blog 163 com s zhchluo blog static 1501470820075205739439 基本语法 一 EL简介 1 语法结构 expression 2 与 运算符 EL 提供 和 两种运算符来存取
  • 让你的应用支持新iPad的Retina显示屏

    一 应用图片 标准iOS控件里的图片资源 苹果已经做了相应的升级 我们需要操心的是应用自己的图片资源 就像当初为了支持iPhone 4而制作的 2x高分辨率版本 译者 以下简称高分 图片一样 我们要为iPad应用中的图片制作对应的高分版本
  • ABAP & DOI NACE OUTPUT

    ABAP上传文件的TCODE SMW0 OAOR 现在遇到的业务需求是在VA03的订单通过SAP标准的OUTPUT配置打印出order confirmation以后 再打印公司的文字条款内容 WORD格式的两页纸 最开始想到的实现方式是在N
  • WPF自学篇--第一篇--Hello world

    主要知识点为 1 WPF如何修改启动页面 2 如何写Hello Word Sample 内容 1 由于专案是先加window wpf想加web wpf是调试找启动页面找了很久 终于发现在app config中Application下 Sta
  • 黑客美化版大马_2012版

  • ArcGIS GraphicsLayer层的特殊要求

    如果你要使用GraphicsLayer这个绘图层 那么你需要注意自己的布局的模式不可以使用 layout absolute 如果你使用了这个布局 那么你的GraphicsLayer层可能会无法使用 比如下面的程序就是因为设置了 layout

随机推荐

  • pread介绍

    1 先来介绍pread函数 root bogon mycode cat test c include
  • QT中的事件

    目录 1 QT事件 1 1 事件介绍 1 2 事件的处理 2 键盘事件 2 1 keyPressEvent 2 1 1 判断某个键按下 2 1 2 组合键操作 3 鼠标事件 3 1 鼠标单击事件 3 2 鼠标释放事件 3 3 鼠标双击事件
  • vim 常用命令

    文本替换 s 替换 g global 全部 如果不加g则只会替换每行第一个word1 1 20s hello helloworld g 将1 20行中的 hello 替换为 helloworld 统计字符串出现次数 s pattern gn
  • innerHTML 用法

    用法 比如在中写了如下的代码 div div 现在用top innerHTML 的方法就可以向这个id的位置写入HTML代码了 例如top innerHTML
  • 啊哈c语言 潦草的初步笔记(3)

    第四章 while 当while后面 中的关系表达式为真时 即成立时才执行 种的内容 读作 mod 也称作 取模 作用是获取余数 的左右两边必须是整数 表示除号 作用是获取商 的左右两边可以是整数也可以是小数 等待 语句 Sleep 注意S
  • 20. 异常处理

    Hi 大家好 我是茶桁 在我们日常使用Python或者其他编程语言的时候 不可避免的都会出现报错和异常 那么 我们今天就来谈谈异常 什么是异常 异常异常 根据名字简单理解 那就是非正常 也就是没有达到预期目标 异常呢 其实就是一个事件 并且
  • CAP原理的证明

    CAP概述 C Consistency 一致性 A Availability 可用性 P Partition Tolerance分区容错性 CAP理论的核心是 一个分布式系统不可能同时很好的满足一致性 可用性和分区容错性这三个需求 最多只能
  • 【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

    OpenELB部署及应用 一 OpenELB介绍 网址 openelb io OpenELB 是一个开源的云原生负载均衡器实现 可以在基于裸金属服务器 边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 S
  • jquery子窗体操作父窗体中的元素

    1 在父窗口中操作子窗口中的元素 如 其中 iframe1是iframe的ID 1 选中IFRAME中的所有单选钮 window frames iframe1 document find input type radio attr chec
  • 华为云云耀云服务器L实例评测|云耀云服务器L实例部署paperless-ngx文档管理系统

    华为云云耀云服务器L实例评测 云耀云服务器L实例部署paperless ngx文档管理系统 一 云耀云服务器L实例介绍 1 1 云耀云服务器L实例简介 1 2 云耀云服务器L实例特点 二 paperless ngx介绍 2 1 paperl
  • SWAPIDC服务器销售模板,记录利用swapidc搭建IDC销售网站教程

    现在免空泛滥 所以写这么一篇教程吧 一 准备工作 首先你要准备一台服务器 其中推荐使用国外的Vultr 系统使用Centos6 方便实验 也可以用我的IDC服务器 不推荐使用国内的 因为域名需要备案 容易引起访问错误 使用SSH登陆服务器后
  • CA6140数控化改装设计(论文+CAD图纸)

    摘要 随着我国工业生产的发展 机械工业即将面临着一个十分重要的课题 设备改造 本设计就是对CA6140车床的机械部分 进行数控改造 数控改造主要是简化机械传动机构 缩短传动链 提高自动化程度 也是为了解决复杂的零件加工 精度控制及提高产品质
  • [从零开始学DeepFaceLab-15]: 使用-命令行八大操作步骤-第6步:模型的选择与训练 - 进阶 - 打开Windows的GPU加速开关

    目录 前言 第1章 来自DeepFaceLab模型训练的提醒 第2章 打开该开关的意义
  • 2017校招 360 笔试题 编程题 内存管理

    内存管理 时间限制 C C 语言 1000MS 其他语言 3000MS 内存限制 C C 语言 65536KB 其他语言 589824KB 题目描述 物联网技术的蓬勃发展 各种传感器纷纷出现 小B所在的项目组正在开发一个物联网项目 她们在研
  • 基线检查工具_高效液相色谱法35问35答,鬼峰、基线漂移、拖尾、分叉峰等系列问题一步到位!(上篇)...

    按分离机制的不同 高效液相色谱法可以分为液固吸附色谱法 液液分配色谱法 正相与反相 离子交换色谱法 离子对色谱法及分子排阻色谱法 这些方法在使用的过程中往往会遇到诸如鬼峰 基线漂移 拖尾 分叉峰 保留时间漂移 柱压过高等系列问题 该如何解决
  • 线段树Segment tree(1):单点修改,区间查询

    问题描述 给定数列a 1 a 2 a N 依次进行Q次操作 操作有两类 1 i x 给定i x 将a i 加上x 2 l r 给定i x 求 i l r
  • 两年外包生涯做完,感觉自己废了一半....

    先说一下自己的情况 大专生 17年通过校招进入湖南某软件公司 干了接近2年的点点点 今年年上旬 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了五年的功能测试 已经让我变得不思进取 谈了1年的女朋友
  • 国内外自然语言处理(NLP)研究组

    博客地址 http blog csdn net wangxinginnlp article details 44890553 排名不分先后 收集不全 欢迎留言完善 中国大陆地区 腾讯人工智能实验室 Tencent AI Lab https
  • linux自增窗口状态——KwindowSystem篇

    前言 之前曾翻译过 X Desktop Group 今天分享一下如何自定义状态 此篇讲述如何通过kwindowsystem新增状态 以及设置状态的过程 窗口有不同的属性 状态 允许Action等等信息 以使窗口管理器来确定窗口的装饰 堆叠位
  • STM32之NVIC

    STM32 Cortex M3 中NVIC 嵌套向量中断控制 的理解 一 STM32 Cortex M3 中的优先级概念 STM32 Cortex M3 中有两个优先级的概念 抢占式优先级和响应优先级 也把响应优先级称作 亚优先级 或 副优