6.中断优先级分组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.若需要挂起/解挂,查看中断当前激活状态,分别调用相关函数

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值