电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
对中断优先级的困惑 设置抢占和响应有点不太理解
已解决
73482
个问题
已帮助
5993
位优秀工程师
对中断优先级的困惑 设置抢占和响应有点不太理解
有花堪折
2019-08-05
浏览量:662
刚看了原子哥的中断优先级配置 有一些困惑
void USART1_Init(void)
{
/*μúò»2½£o′ò¿aGPIO¡¢AFIO¡¢USART1μÄê±Öó*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 , ENABLE);// |RCC_APB2Periph_AFIO
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
/*2¡¢3õê¼»ˉÏàó|μÄ′®¿úòy½Å*/
Usart1_Gpio_Init();
/*3¡¢ÅäÖÃ′®¿úÖD¶Ï*/
NVIC_Configuration();
/*4¡¢ÅäÖÃ′®¿úÄ£ê½*/
Usart1_para_Config(9600);
}
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//ÇàÕ¼óÅÏ輶3
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //×óóÅÏ輶3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQí¨μàê1Äü
NVIC_Init(&NVIC_InitStructure); //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉVIC¼Ä′æÆ÷
}
比如上方代码不是设置分组为1吗?不应该是一位抢占3位响应么,那抢占优先级的范围是不是0-1 响应优先级是0-7 这里设置抢占为3 不是越限了吗?实在是很困惑,希望有师傅可以帮忙解答一下
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
所有亮答
数量:
2
duyi324
如果你拷贝的代码确定没问题的话,这里肯定写错了,实际运行可能会出现意想不到的错误。
发布于
2019-08-27
举报
评论 0
0
0
发布
chen0000009
如果是分组为1,那么这里设置抢占优先级为3就没有意义的,这里应该是写错了
发布于
2019-08-29
举报
评论 0
0
0
发布
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
对中断优先级的困惑 设置抢占和响应有点不太理解
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: