串口中断中使用Systick中断,为什么优先级要如此设置才行?

[复制链接]
9236|10
 楼主| 7120223 发表于 2011-4-26 18:56 | 显示全部楼层 |阅读模式
本帖最后由 7120223 于 2011-4-26 21:37 编辑

初次应用systick来做1ms延时用
本来串口中断优先级是
NVIC_PriorityGroup_0
NVIC_IRQChannelPreemptionPriority = 1;//或者其他数 都一样
NVIC_IRQChannelSubPriority = 0;          //或者其他数 都一样
//-----------------------------------------------------------------
串口中断里systick进不了中断,经过反复试验
把上面程序修改成如下
NVIC_PriorityGroup_1
NVIC_IRQChannelPreemptionPriority = 0;//只要这个设置为0,下面设置0~7都没有用
NVIC_IRQChannelSubPriority = 0;          //0~7 无效
//----------------------------------------------------------------

后来把
NVIC_PriorityGroup_1
NVIC_IRQChannelPreemptionPriority = 1;//此位设置为1,下面设置0~7,systick中断就都是可以进去了
NVIC_IRQChannelSubPriority = 0;          //0~7

这是为什么呢,中断优先级 有那些要注意的么?
LDTEST 发表于 2011-4-26 20:41 | 显示全部楼层
NVIC_PriorityGroup_0
NVIC_IRQChannelPreemptionPriority  只有 0
NVIC_IRQChannelSubPriority   0-7

NVIC_PriorityGroup_1
NVIC_IRQChannelPreemptionPriority    0   1
NVIC_IRQChannelSubPriority   0-5
不要 定义多个 不同的 NVIC_PriorityGroup
 楼主| 7120223 发表于 2011-4-26 20:49 | 显示全部楼层
不是 我每次只是用到一个 ,这个 我一共分了3组做实验的,NVIC_PriorityGroup_1或NVIC_PriorityGroup_0我知道是不应该同时使用的。我也没有同时使用哦
LDTEST 发表于 2011-4-26 21:01 | 显示全部楼层
:L 仔细看看,还是觉得你的描述 不够清晰, 是不是  你的串口优先级高于 systick,这样在串口中断状态下是进不了 systick 中断的
 楼主| 7120223 发表于 2011-4-26 21:43 | 显示全部楼层
不是 systick的中断不是 核的么?软件配置不是只可以是0~15级的优先级么?而且软件并不可以配置systick的优先级啊,因该默认systick的中断优先级高于其他我们可配置的吧,不知道我理解对不对?
hyy12345678 发表于 2011-4-26 21:45 | 显示全部楼层
你的串口优先级高于 systick,这样在串口中断状态下是进不了 systick 中断的。
 楼主| 7120223 发表于 2011-4-26 22:28 | 显示全部楼层
本帖最后由 7120223 于 2011-4-26 22:34 编辑

本来看视频上说是核的 ,以为就是默认最大优先级呢,在手册上看到他排行第六,如图
systick.jpg
不过还是有点疑惑,默认是第六,但是我们软件自己定义的时候 好像是没有它,好像是从第七个开始的?
LDTEST 发表于 2011-4-27 19:43 | 显示全部楼层
这个优先级 可以无视,只在 主从优先级 都一样的状态下,才有意义!
ST_ARM 发表于 2011-4-28 09:41 | 显示全部楼层
上面的图中已经说明Systick的优先级的类型是:settble,说明可以对Systick的优先级进行设置。
关键是楼主对NVIC_PriorityGroup设置了两次,如果楼主不希望有中断嵌套,应设置为NVIC_PriorityGroup_0,如果要中断嵌套,就不能设置为NVIC_PriorityGroup_0,而且NVIC的Priority Group只能初始化一次。
zhiyonghe 发表于 2011-4-28 17:23 | 显示全部楼层
systick 和串口 中断 怎么会扯到抢优先级的设置问题???
systick是系统的,串口中断的优先级才需要设置,不明白……
ypldz23 发表于 2015-6-5 12:28 | 显示全部楼层
回帖还有效吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

105

主题

389

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部