stm32f103单片机的NVIC分组2介绍

NVIC_PriorityGroup_2 是STM32中断优先级的一种分组方式,它决定了如何分配用于配置中断优先级的4个寄存器位。

选择这个组别,意味着将2个位 分配给抢占优先级2个位 分配给响应优先级

下面是对这个组别的具体介绍:

优先级分配与取值范围

NVIC_PriorityGroup_2模式下:

  • 抢占优先级 (Preemption Priority) :占用2个位 ,因此有2^2 = 4个优先级级别,取值范围为 0~3

  • 响应优先级 (Subpriority) :占用2个位 ,因此也有2^2 = 4个优先级级别,取值范围为 0~3

请注意,对于所有优先级,数值越小,代表的优先级越高 ,0是最高优先级-11

抢占与响应优先级的作用

这两种优先级在中断嵌套和响应时扮演不同角色:

  • 抢占优先级 :决定中断能否嵌套。一个高抢占优先级的中断,可以打断任何正在执行的低抢占优先级的中断服务程序。

  • 响应优先级 :在抢占优先级相同的中断之间起作用。

    • 不能打断正在执行的、抢占优先级相同但响应优先级较低的中断。

    • 当两个抢占优先级相同的中断同时发生 时,响应优先级高的那个会优先执行

如果在NVIC_PriorityGroup_2下,两个中断的抢占优先级和响应优先级都相同,那么它们的执行顺序将由中断向量表中的硬件编号决定,编号靠前的先执行。

总结与建议

NVIC_PriorityGroup_2 是一个非常平衡和常用的配置。它提供了4级抢占优先级 ,足以满足大多数需要中断嵌套的场景,同时也提供了4级响应优先级,方便在同级中断中进行更细致的排序。

这个分组是许多STM32官方例程和第三方库(如FreeRTOS)的默认配置,具有很好的兼容性。

相关推荐
紫幽2 小时前
从 0 用 Vue 做屏并生成 LVGL 单片机代码(完整源码备忘)
前端·单片机
智者知已应修善业2 小时前
【51单片机数码管逐位显示1-8余位不亮】2024-10-23
c语言·经验分享·笔记·嵌入式硬件·51单片机
Be for thing3 小时前
【嵌入式成长3】STC89C51外部中断|中断原理、寄存器、中断服务函数
单片机·嵌入式硬件·学习
科芯创展5 小时前
1A,5.5VIN,同步升降压恒流芯片,XZ3442
单片机
恒锐丰-罗生5 小时前
率能半导体 SS6840 单通道 H 桥电机驱动芯片深度解析
驱动开发·嵌入式硬件·硬件工程
9稳6 小时前
基于PLC的小车运料装卸控制系统设计
开发语言·网络·数据库·单片机·嵌入式硬件
拾知_H7 小时前
STM32+FreeRTOS基础配置
stm32·嵌入式硬件·freertos
智购科技自动贩卖机7 小时前
自动售货机硬件主控方案选型实战:单片机、树莓派、ESP32怎么选?
人工智能·单片机·嵌入式硬件·物联网·网络协议·yolo·架构
WWJA王文举8 小时前
# STM32使用DMA后数据异常?可能不是DMA配置问题:从缓存、变量类型、时序到外设状态全面排查
stm32·嵌入式硬件·缓存