请教中断分组和优先级设置的问题

2019-08-19 16:33发布

     假如我将优先级分组设置为组4(4位抢占优先级,0位响应优先级),按理说响应优先级只能设置为0,假如我将响应优先级设置为3了,会有什么副作用吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
Ecrhon
1楼-- · 2019-08-19 21:45
 精彩回答 2  元偷偷看……
ruanyongyu
2楼-- · 2019-08-19 23:49
不知道你具体是用什么命令设的。你是用库函数设的,还是用 寄存器版例程里的原子的子函数设的,还是直接操作寄存器?
业未央
3楼-- · 2019-08-20 04:09
ruanyongyu 发表于 2017-5-11 17:54
不知道你具体是用什么命令设的。你是用库函数设的,还是用 寄存器版例程里的原子的子函数设的,还是直接操 ...

用固件库
ruanyongyu
4楼-- · 2019-08-20 05:06
业未央 发表于 2017-5-11 17:57
用固件库

你看这个函数:void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
{
//节选
    tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre;
    tmppriority |=  NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub;
    tmppriority = tmppriority << 0x04;
        
    NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
}

按我的理解,如果NVIC_IRQChannelSubPriority的值超过了正常范围,应该会影响抢占优先级的值。
jiaozhu
5楼-- · 2019-08-20 05:16
看看 库函数的实现    在看看内核手册中  关于中断的寄存器定义      分析下就出来了
业未央
6楼-- · 2019-08-20 09:31
 精彩回答 2  元偷偷看……

一周热门 更多>