datasheet

6.中断优先级分组NVIC

2019-08-16来源: eefocus关键字:中断优先级  分组  NVIC

void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)


void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)


 


typedef struct NVIC_InitTypeDef{


uint8_t NVIC_IRQChannel; //中断通道


uint8_t NVIC_IRQChannelPreemptionPriority;  //抢占优先级


uint8_t NVIC_IRQChannelSubPriority;   //响应优先级


FunctionalState NVIC_IRQChannelCmd;   //中断通道使能



 


typedef structNVIC_Type{


__IO uint32_t ISER[8]; 


...


__IO uint8_t  IP[240]; 


...



 


中断优先级设置步骤:


a.系统运行后,首先进行中断优先级分组:NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)


整个系统执行过程中只设置一次中断分组


b.针对每个中断进行初始化,设置抢占优先级和响应优先级以及使能:NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)


c.若需要挂起/解挂,查看中断当前激活状态,分别调用相关函数

关键字:中断优先级  分组  NVIC

编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic471319.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:5.HAL库之时钟系统及定时器SYSTICK
下一篇:7.STM32F407ZG串口通信配置流程

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

【STM32CubeMX】15,NVIC,中断优先级

以前虽然用到了中断,但很少用到中断优先级。现在必须有了,比如急停之类的。http://www.waveshare.net/study/article-641-1.html抢占优先级是用来判断一个中断是否可以打断另外一个中断的中断服务程序抢先运行。 响应优先级是用来判断抢占优先级相同的几个中断那个中断会优先响应。中断优先级分组是为了给抢占式优先级和响应优先级在中断优先级寄丛器的四个比特位分配各个优先级数字所占的位数。例如3位用于抢占优先级(优先级有2^3=8种优先级),1位用于响应优先级(优先级有2^1=2种优先级)。 中断服务函数里面就调用了GPIO外部中断处理
发表于 2019-08-14
【STM32CubeMX】15,NVIC,中断优先级

关于Stm32内核外设Systick与普通外设中断优先级的比较

 有网友经实验验证,Systick虽然作为与CPU紧耦合的内核外设,但其中断优先级并不比普通外设要高,并不因为它是内核外设而特殊,它还是遵循中断优先级高低的规则来响应。https://blog.csdn.net/To_be_a_fisher/article/details/84986790Systick优先级是最低的https://www.cnblogs.com/jieruishu/p/4444701.htmlSystick虽然作为与CPU紧耦合的内核外设,但其中断优先级并不比普通外设要高,并不因为它是内核外设而特殊,它还是遵循中断优先级高低的规则来响应。  NVIC_SetPriority
发表于 2019-07-19

stm32内核外设Systick与普通外设中断优先级比较的验证实验

最近又遇到了使用Systick来产生精确计时,然后又涉及到了Systick的中断优先级的问题。我们老板认为Systick属于内核外设,中断优先级应该比普通外设高。然后我们说,在网上看到的是,Systick的中断优先级ST官方默认设置15(1111b),然后换算为4位(M4用4位来表示优先级分组)是3(抢占优先级),3(响应优先级),其实是最低的,但老板说虽然它是最低的,但它是跟CPU紧耦合的内核外设,它依然能打断优先级比它高的普通外设,当然我们也有点不确定网上说的就是对的(还是老板说的就是错的,==)。于是就做了一个对比实验,测试到底是Systick到底能否打断中断优先级比它高的。实验环境条件如下:MDK v5.21a
发表于 2019-07-19

STM32中断优先级和开关总中断(很老很经典)

一、中断优先级:STM32(Cortex-M3)中的优先级概念STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级
发表于 2019-07-01
STM32中断优先级和开关总中断(很老很经典)

STM32复习笔记(三)端口复用、映射和中断优先级

, ENABLE);p  根据第一个参数,来确定是部分重映射还是全部重映射4、哪些情况需要开启AFIO辅助功能时钟?对寄存器AFIO_MAPR,AFIO_EXTICRX和AFIO_EVCR进行读写操作前,应当首先打开AFIO时钟。AFIO_MAPR:配置复用功能重映射AFIO_EXTICRX:配置外部中断线映射AFIO_EVCR:   配置EVENTOUT事件输出三、NVIC中断优先级管理:1、NVIC中断优先级分组:首先,对STM32中断进行分组,组0~4。同时,对每个中断设置一个抢占优先级和一个响应优先级值。2、抢占优先级 & 响应优先级区别:高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断
发表于 2019-06-27
STM32复习笔记(三)端口复用、映射和中断优先级

STM32入门之优先级分组

在配置中断时需要配置优先级,在此对优先级进行总结。首先,优先级分为抢占优先级和响应优先级。判定顺序为先判定抢占优先级,如果抢占优先级相同的情况下再判定响应优先级。      始终先解决抢占优先级高的!优先级由4位组成区间为 0000 ~ 1111因为要分为抢占优先级和响应优先级,故一共有5种分组。、看代码注释具体分配如下(红线前为抢占优先级后为响应优先级)还看不懂就看这个表:故设置时不能超过相对应的值。
发表于 2019-06-26
STM32入门之优先级分组

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved