OpenEdv-开源电子网

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

请问抢占优先级和子优先级要怎么赋值。

[复制链接]

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
发表于 2016-12-8 08:57:17 | 显示全部楼层 |阅读模式
1金钱
由于使用freeRTOS,  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); 选择了第四组;第四组注释说明了 4bit 的pre-emption priority,0 bit 的subpriority
#define NVIC_PriorityGroup_4         ((uint32_t)0x300) /*!< 4 bits for pre-emption priority
                                                                                0 bits for subpriority */


然后在使用串口中断的时候,我PreemptionPriority  和 SubPriority 怎么赋值都不对, 我把NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; 赋值注释掉也不对, 请问要怎么做才对啊???
        NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4 ;
        //NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;                 
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        
        NVIC_Init(&NVIC_InitStructure);         

最佳答案

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

freertos为了简单故意不使用subpriority NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4 ; 没问题 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;这里设为0就好 至于你说的怎么设都不对,请问你是怎么判断的?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-12-8 08:57:18 | 显示全部楼层
freertos为了简单故意不使用subpriority
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4 ; 没问题
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;这里设为0就好
至于你说的怎么设都不对,请问你是怎么判断的?
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

83

主题

217

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-4-8
在线时间
116 小时
 楼主| 发表于 2016-12-8 14:06:44 | 显示全部楼层
FreeRTOS 发表于 2016-12-8 13:22
freertos为了简单故意不使用subpriority
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4 ; 没问 ...

发现可能不是这个原因。 串口1一初始化,TIM8就没有了PWM输出,期初以为是抢占优先级的问题,后面发现只要注释屏蔽了初始化USART1,TIM8就正常的输出PWM,真是搞不懂呢
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
11922
金钱
11922
注册时间
2015-11-5
在线时间
2086 小时
发表于 2016-12-8 15:41:10 | 显示全部楼层
vention 发表于 2016-12-8 14:06
发现可能不是这个原因。 串口1一初始化,TIM8就没有了PWM输出,期初以为是抢占优先级的问题,后面发现只 ...

你看下IP寄存器组和ISER寄存器组,基本可以判断中断设置好了没
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 23:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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