OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2299|回复: 2

对中断优先级的困惑 设置抢占和响应有点不太理解

[复制链接]

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-12-13
在线时间
10 小时
发表于 2019-8-4 16:04:50 | 显示全部楼层 |阅读模式
1金钱
刚看了原子哥的中断优先级配置 有一些困惑
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 不是越限了吗?实在是很困惑,希望有师傅可以帮忙解答一下

最佳答案

查看完整内容[请看2#楼]

代码有问题,分组要设置成2才行。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-8-4 16:04:51 | 显示全部楼层
代码有问题,分组要设置成2才行。
回复

使用道具 举报

7

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2018-12-13
在线时间
10 小时
 楼主| 发表于 2019-8-5 16:19:00 | 显示全部楼层
正点原子 发表于 2019-8-4 16:04
代码有问题,分组要设置成2才行。

谢谢原子哥 我也一直有疑惑 谢谢您的解答
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-1 02:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表