IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32中断优先级NVIC_IRQChannelPreemptionPriority的理解及使用 -> 正文阅读

[嵌入式]stm32中断优先级NVIC_IRQChannelPreemptionPriority的理解及使用

NVIC_IRQChannelPreemptionPriority;? ? ? ? ?//先占优先级

NVIC_IRQChannelSubPriority;? ? ? ? ? ? ? ? ? ? ?//从优先级

1、两者之间的逻辑关系:

具有先占式优先级的中断可以在具有先占式优先级的中断处理过程中被响应,即中断嵌套,

或者说先占式优先级的中断可以嵌套在先占式优先级的中断中。

当两个中断源的先占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。

如果这两个中断同时到达,则中断控制器根据他们的从优先级高低来决定先处理哪一个;

如他们的先占式优先级从优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。

2、NVIC_PriorityGroupConfig(NVIC_PriorityGroup_X)的理解

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_x):是决定有几个先占优先级和从优先级.

NVIC_PriorityGroup_X? 可取如下值:NVIC_PriorityGroup_0? ? ? ? ? ?NVIC_PriorityGroup_1

? ? ? ? ? ? ? ?NVIC_PriorityGroup_2? ? ? ? ? ?NVIC_PriorityGroup_3? ? ? ? ? ?NVIC_PriorityGroup_4

表1

表1中第四列表示:? ?先占优先级占可以占几位二级制 。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 如先占优先级1位,从优先级3位。

表示? ?NVIC_IRQChannelPreemptionPriority = x;? ? ? //?x取值范围为0~1?;? ? (0? ~? 2^1-1)

? ? ? ? ? NVIC_IRQChannelSubPriority =y;? ? ? ? ? ? ? ? ? ?// y取值范围为0~7 ;? ? ?(0? ~? 2^3-1)

优先级数字越小,优先级越高

示例:

? ? ?NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);

? // NVIC_PriorityGroup_1? 决定了先占优先级 可选0-1?,?从优先级 可选0-7 ??NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; //定时器3中断? ? ? ? ? ? ?
?? ?NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=0;? ? //先占优先级0,可选0-1
?? ?NVIC_InitStructure.NVIC_IRQChannelSubPriority=7;? ? ? //从优先级7,可选0-7
?? ?NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
?? ?NVIC_Init(&NVIC_InitStructure);

注:

整个系统执行过程中,只设置一次中断分组。(NVIC_PriorityGroupConfig只是对一个寄存器操作。多次操作以最后一次设置为准。)

针对每个中断,设置对应的先占优先级和从优先级。

如果不设置中断优先级分组,则中断优先级分组默认为0,即0位抢占优先级,4位响应优先级。
?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-30 12:41:30  更:2021-10-30 12:41:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:34:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码