stm32(二) stm32中断优先级的设置
来源:互联网 发布:我的世界命令方块编程 编辑:程序博客网 时间:2024/05/20 18:47
stm32优先级
1.优先级等级:
STM32用户能分配的优先级有16级,也就是用优先级寄存器NVIC->IP[x]的高四位来表示莫个中断的优先级。
2.优先级组:
在STM32中将一个中断的优先级分为:抢占优先级和子优先级。
在进行优先级判断的时候先是比较抢占优先级然后比较子优先级。
在固件库中用变量分别表示抢占优先级和子优先级:
NVIC_InitTypeDef.NVIC_IRQChannelPreemptionPriority;(抢占优先级)
NVIC_InitTypeDef.NVIC_IRQChannelSubPriority;(子优先级)
优先级组就是对抢占优先级和子优先级进行的分界:
例如设置优先级组为0x05,那么表示的是莫个中断的优先级从第5位开始为界限,高两位[6:7]是抢占优先
级.第两位是[5:4]表示的是子优先级。
举例说明:
//调用优先级组设置函数,设置优先级是0x05.
.....
NVIC_SetPriorityGrouping(5);
.....
//这里说明了一个优先级寄存器的(NVIC->IP[x])的7,6位表示的是抢占优先级。5,4表示的是优先级。
......
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
.......
//这里进行优先级的设置:通过上面的设置可以知道抢占优先级和子优先级的范围都是3~0;
//那么这样就设置好了一个中断的优先级
1.优先级等级:
STM32用户能分配的优先级有16级,也就是用优先级寄存器NVIC->IP[x]的高四位来表示莫个中断的优先级。
2.优先级组:
在STM32中将一个中断的优先级分为:抢占优先级和子优先级。
在进行优先级判断的时候先是比较抢占优先级然后比较子优先级。
在固件库中用变量分别表示抢占优先级和子优先级:
NVIC_InitTypeDef.NVIC_IRQChannelPreemptionPriority;(抢占优先级)
NVIC_InitTypeDef.NVIC_IRQChannelSubPriority;(子优先级)
优先级组就是对抢占优先级和子优先级进行的分界:
例如设置优先级组为0x05,那么表示的是莫个中断的优先级从第5位开始为界限,高两位[6:7]是抢占优先
级.第两位是[5:4]表示的是子优先级。
举例说明:
//调用优先级组设置函数,设置优先级是0x05.
.....
NVIC_SetPriorityGrouping(5);
.....
//这里说明了一个优先级寄存器的(NVIC->IP[x])的7,6位表示的是抢占优先级。5,4表示的是优先级。
......
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
.......
//这里进行优先级的设置:通过上面的设置可以知道抢占优先级和子优先级的范围都是3~0;
//那么这样就设置好了一个中断的优先级
- stm32(二) stm32中断优先级的设置
- stm32(二) stm32中断优先级的设置
- stm32(二) stm32中断优先级的设置
- STM32 对于NVIC中断优先级的设置
- STM32中断—优先级设置
- 理解STM32的中断优先级
- stm32的中断嵌套优先级
- stm32学习——中断的优先级设置
- stm32 设置systick中断抢先式优先级
- STM32 中断——优先级设置
- stm32 设置systick中断抢先式优先级
- stm32 设置systick中断抢先式优先级
- stm32 设置systick中断抢先式优先级
- stm32 设置systick中断抢先式优先级
- (二)STM32中中断优先级理解
- STM32中断优先级
- STM32中断优先级
- STM32中断优先级
- 链表实现冒泡排序
- TCP/IP传输层的若干问题
- Android 的网络编程
- 面试感想之虚三
- 【编译原理】用Yacc做语法分析
- stm32(二) stm32中断优先级的设置
- Manacher算法求最长回文子串
- 关于3D引擎中的多线程渲染(Multithreaded-Rendering)
- ServiceStack.Redis 使用教程
- 用户空间与内核空间数据交换的方式(2)------procfs
- PHP性能测试Part 1 - Counting Loops(计数循环) - count()
- 图灵停机问题
- android 点餐系统 构思
- 大规模草地的快速绘制排序