STM32NVIC中断优先级管理

2023-11-08

目录

抢占优先级响应优先级区别

中断设置相关寄存器

__IO unit8_t IP[240];//中断优先级控制寄存器组

中断参数初始化函数NVIC _Init()

 NVIC_InitTypeDef结构体


抢占优先级响应优先级区别

抢占优先级高的可以打断正在进行的低抢占优先级

  抢占优先级相同时,响应优先级高的不能打断响应优先级低的,两中断同时发生时,响应优先级高的先执行,都相同时那个先发生就先执行

中断设置相关寄存器

__IO unit8_t IP[240];//中断优先级控制寄存器组

每个中断使用一个寄存器来确定优先级,STM32F10x系列一共60个可屏蔽中断,使用IP[59]-IP[0]

每个IP寄存器的高4位用来设置抢占和响应优先级(根据分组),低四位没用到

—IO unit32_t ISER[8];//中断使能寄存器组

—IO unit32_t ICER[8];//中断失能寄存器组

—IO unit32_t ISPR[8];//中断解挂寄存器组

—IO unit32_t IABR[8];//中断激活标志位寄存器组

中断参数初始化函数NVIC _Init()

void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)

 NVIC_InitTypeDef结构体

typedef struct
{
  uint8_t NVIC_IRQChannel;     //设置中断通道               

  uint8_t NVIC_IRQChannelPreemptionPriority;  //设置响应优先级

  uint8_t NVIC_IRQChannelSubPriority;         //设置抢占优先级
  FunctionalState NVIC_IRQChannelCmd;    //使能

} NVIC_InitTypeDef;

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

STM32NVIC中断优先级管理 的相关文章

  • ARM Linux 如何模拟 PTE 的脏位、访问位和文件位?

    As per pgtable 2 level h https git kernel org cgit linux kernel git torvalds linux git tree arch arm include asm pgtable
  • 使用 STM32F0 ADC 单独读取不同的输入

    STM32F072CBU 微控制器 我有多个 ADC 输入 并且希望单独读取它们 STMcubeMX 生成样板代码 假设我希望按顺序读取所有输入 但我无法弄清楚如何纠正这个问题 这篇博文 http blog koepi info 2015
  • RAM 存储二进制数和汇编语言的冒泡排序

    我必须使用 ARM v7 执行一个例程 在 RAM 内存中存储 10 个二进制数 然后使用冒泡排序对这些数字从高到低进行排序 我应该如何开始 func bubbleSortAscendingU32 ldr r3 r0 4 mov r1 9
  • 在嵌入式设备上使用new或malloc引起的段错误[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • C 嵌入式应用程序中 time() 函数的问题

    我在用time 在 ARM 微控制器上 处理器一到达此函数就会重新启动 奇怪的是 当我处于调试模式时 代码运行得很好 但一旦我想将其应用到独立模式 我就会遇到重置 我是否忽略了什么 这个功能有替代品吗 代码部分是这样的 include
  • 可以使用Visual Studio 2012构建ARM桌面程序吗?

    我正在使用 Visual Studio 2012 beta 我的桌面 win32 程序在 ARM 架构中编译得很好 升级到 Visual Studio 2012 RC 后 编译器无法工作并出现以下错误 不支持为 ARM 平台编译桌面应用程序
  • 为 ARM 交叉编译 zlib

    我尝试为arm poky linux gnueabi交叉编译zlib 但启动 make 时出现错误 zlib 1 2 11 AR HOST ar CC HOST gcc RANLIB HOST ranlib configure prefix
  • 如何在 Android 设备上运行 VS Code [重复]

    这个问题在这里已经有答案了 我有 Galaxy Tab S6 它具有替代笔记本电脑的很酷的功能 例如连接鼠标和键盘 但不幸的是它运行 Android 操作系统 并且没有很多开发应用程序可用于 Android 所以我想是否有一个选项可以在至少
  • arm-thumb指令集的blx指令如何支持4MB范围

    读自https www keil com support man docs armasm armasm dom1361289866046 htm https www keil com support man docs armasm arma
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 了解 ctags 文件格式

    我使用 Exhuberant ctags 来索引我的 c 项目中的所有标签 c project 是 Cortex M7 微控制器的嵌入式软件 结果是一个标签文件 我正在尝试阅读该文件并理解所写的内容 根据我找到的 ctags 和 Exhub
  • DS-5:什么是 FVP、RTSM、基础模型、AEM 模型、快速模型、CADI?

    DS 5 模拟器使用了很多术语 如 FVP RTSM 快速模型 基础模型 AEM 模型 CADI Arm的文档中提供的解释不是很清楚 这些术语的含义是什么 作为 DS 5 的最终用户我应该关心哪些术语 Model 软件模拟的行业术语 就 A
  • 为什么 GCC 交叉编译不构建“crti.o”?

    在尝试为arm构建gcc 4 x x交叉编译器时 我陷入了缺失的困境crti o文件在 BUILD DIR gcc子目录 An strace在顶层Makefile表明编译后的xgcc正在调用交联器ld with crti o 作为一个论点
  • arm-linux-gnueabi 编译器选项

    我在用 ARM Linux gnueabi gcc在 Linux 中为 ARM 处理器编译 C 程序 但是 我不确定它编译的默认 ARM 模式是什么 例如 对于 C 代码 test c unsigned int main return 0x
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 为arm构建WebRTC

    我想为我的带有arm926ej s处理器的小机器构建webrtc 安装 depot tools 后 我执行了以下步骤 gclient config http webrtc googlecode com svn trunk gclient s
  • 上下文切换到安全模式(arm trustzone)的成本是多少

    我试图了解在arm中可信 安全 和非安全模式之间来回切换的成本 从非安全世界转移到安全世界时到底需要发生什么 我知道需要设置 ns 位 基于某些特殊指令 需要刷新和更新页表 刷新和更新处理器缓存 还有什么需要发生的吗 处理器缓存 它们是分段
  • .ko 文件是如何构建的

    我正在尝试将我自己的驱动程序移植到Beagle 板 xm arm cortex A8 在移植时我试图弄清楚如何 ko文件实际构建 在我们的Makefile我们只有一个命令来构建 o file 怎样是一个 ko文件已建立 使用Linux 2
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul

随机推荐

  • Ubuntu18.04+Docker+Hadoop+Spark分布式集群搭建

    题前记 因为课程需求 下面将搭建过程用学术论文的格式写 其实我并不想写的 没办法 学习作业嘛QAQ 我的联系方式 630056108 文章目录 Docker上的Hadoop大数据平台搭建与测试 1 简介与原理 1 1 Docker介绍 1
  • 电脑安装双系统

    1 准备工具 我们需要安装两个系统 win10和deepin 准备2个u盘 1个u盘使用优启通制作pe 支持uefi启动 1个u盘使用deepin官网上的启动盘制作工具制作启动盘 2 基础知识 2 1 磁盘格式 磁盘格式分为mbr和guid
  • c++: websocket 客户端与服务端之间的连接交互

    目录 socket 头文件 延迟时间 通信协议地址 TCP IP 服务端 客户端 编程步骤 服务端 客户端 编程步骤 1 初始化 WSAStartup 2 创建 socket 2 1 协议族 2 2 socket 类型 2 3 协议 3 绑
  • MS5611气压计 I2C驱动代码 STM32

    文章目录 前言 通信接口 IIC 一 MS5611的5种命令 RESET 重启芯片 READ PROM D1 D2 CONVERSION READ ADC RESULT 二 实现代码 1 初始化 2 读取数据 3 补偿温度数据 前言 这篇博
  • vue3 mitt 替换EventBus

    mitt 在vue3中 on off和 once实例方法已经被移除 我们熟悉的EventBus无法使用 对于这用情况我们使用Mitt库 和EventBus大同小异 1 npm install mitt S 2 mian js ts 初始化
  • C++解决报错无法打开源文件“json/json.h“

    C 解决报错无法打开源文件 json json h 报错详情 解决步骤 1 安装vcpkg 2 安装报错的依赖包 3 在VisualStudio中添加刚才生成的目录 报错详情 解决步骤 1 安装vcpkg https vcpkg io en
  • 【OJ比赛日历】快周末了,不来一场比赛吗? #01.07-01.13 #12场

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考 以比赛官网为准 目录
  • 别吹 你不一定会define

    目录 1 define的介绍 1 1 概念 1 2 补充说明 1 3 C语言预处理的三个内容 2 define的使用 2 1 define用于防止头文件重复包含 2 2 define 的定义与撤销 2 2 1 定义 2 2 2 撤销 2 3
  • 数据处理中 男性变为1 女性变为0

    knn train Sex knn train Sex male 1 knn train Sex knn train Sex female 0
  • STM32F103ZET6【标准库函数开发】------02.2 按键实现短按、长按、双击的效果(非中断方式)

    一 硬件介绍 正点原子战舰开发板 LED0 PB5 LED1 PE5 KEY0 PA4 二 实现目的 开机LED0 LED1均熄灭 单击KEY0 LED0点亮 LED1熄灭 双击KEY0 LED0熄灭 LED1点亮 长按 LED0 LED1
  • 面试官mysql的索引了解多少,这一次我不会再被问懵了

    mysql数据库我相信基本大部分公司会选择mysql数据库 作为存储引擎 MySQL 数据库管理系统具有以下系统特性 使用 C 和 C 编写 并使用多种编译器进行测试 保证源代码的可移植性 支持 AIX FreeBSD HP UX Linu
  • 服务器物理机使用ESXI虚拟化并划分虚拟机

    前言 最近因为增加了一台物理机 所以需要对物理机进行虚拟化后划分虚拟机 下面主要来介绍物理机划分虚拟机的操作步骤 物理机虚拟化 1 下载VMware VMvisor Installer 6 0 0 update01 3029758 x86
  • 零基础如何学习Web 安全,如何让普通人快速入门网络安全?

    前言 网络安全现在是朝阳行业 缺口是很大 不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大 帮助安全学习 免费领取网络安全面试题 学习路线 视频教程 工具 需要可以微信扫描下方CSDN官方认证二维码免费领取 保证100 免
  • C语言之if语句

    C语言之if语句 一 简单形式的if语句可以让程序选择执行一条语句 或者跳过这条语句 实例1 下面我们通过一个简单的代码来判定学生成绩是否合格 include
  • 如何打开iso文件

    iso文件用什么打开 iso文件用什么打开 使用光驱可以打开iso文件 iso文件是一种光盘 CD 上的系统文件格式 因此我们只需要将iso文件写入到光盘当中 然后用光驱打开光盘即可安装iso文件软件了 目前我们常购买的光盘系统盘就是商家将
  • 服务器远程如何修改密码,服务器远程如何修改密码

    服务器远程如何修改密码 内容精选 换一换 本地Windows操作系统主机 推荐使用 方法1 使用RDP文件登录在控制台单击 远程登录 下载RDP文件至本地 运行RDP文件 输入密码 密钥鉴权方式请先获取登录密码 登录远程桌面 详细操作请参考
  • 如何屏蔽百度搜索推广

    这几天大家都在说百度推广的事 笔者没什么好说的 毕竟已经很久没有见过百度推广了 不过说实话 很多时候谷歌搜出来的东西才是我想要的 今天就讲一下如何使用插件屏蔽百度推广 一 工具 1 chrome浏览器 2 Tampermonkey 插件 c
  • 性能优化工具:SQL Profiler

    https www cnblogs com kissdodog p 3398523 html 一 SQL Profiler工具简介 SQL Profiler是一个图形界面和一组系统存储过程 其作用如下 图形化监视SQL Server查询 在
  • Hexo + GitHub 搭建个人博客(二) Hexo monie主题

    前言 hexo theme monie 卡片化设计 安装 Git 安装 在项目的根目录下执行 git clone https gitee com lyboy6 hexo themes monie git themes monie npm 安
  • STM32NVIC中断优先级管理

    目录 抢占优先级响应优先级区别 中断设置相关寄存器 IO unit8 t IP 240 中断优先级控制寄存器组 中断参数初始化函数NVIC Init NVIC InitTypeDef结构体 抢占优先级响应优先级区别 抢占优先级高的可以打断正