打印

关于STM32中断的优先级分组

[复制链接]
4186|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yswtxiao|  楼主 | 2013-8-2 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想请教下在STM32中有个SCB_AIRCR寄存器,里面有个PRIGROUP三个位,是用来中断优先级分组的。但是我看官方的例程里面有的时候用到中断它没有先设置这几位,而是直接设置了抢占式优先级和子优先级。但是SCB_AIRCR寄存器复位后的默认值是0xFA05 0000,也就是对应PRIGROUP的三个位是000,这和Priority grouping表里面对应不上的啊。
沙发
yswtxiao|  楼主 | 2013-8-2 16:59 | 只看该作者
有哪位大神帮个忙哈!

使用特权

评论回复
板凳
zly0123yz| | 2013-8-2 17:33 | 只看该作者
SCB_AIRCR寄存器的PRIGROUP三个位代表了中断向量分组的情况。这只需要在系统初始化配置RCC后面配置一次就ok了。不用每配个中断脚就配一次的。

使用特权

评论回复
地板
yswtxiao|  楼主 | 2013-8-2 22:05 | 只看该作者
但是我看官方的例程里面在配置RCC之后就没有配置啊!它默认值是000,这不符合常理 啊!

使用特权

评论回复
5
yswtxiao|  楼主 | 2013-8-2 22:05 | 只看该作者
zly0123yz 发表于 2013-8-2 17:33
SCB_AIRCR寄存器的PRIGROUP三个位代表了中断向量分组的情况。这只需要在系统初始化配置RCC后面配置一次就ok ...

但是我看官方的例程里面在配置RCC之后就没有配置啊!它默认值是000,这不符合常理 啊!

使用特权

评论回复
6
yswtxiao|  楼主 | 2013-8-3 09:06 | 只看该作者
怎么没人咧!

使用特权

评论回复
7
yswtxiao|  楼主 | 2013-8-6 08:30 | 只看该作者
论坛怎么这么冷清!

使用特权

评论回复
8
airwill| | 2013-8-6 09:18 | 只看该作者
这只需要在系统初始化配置RCC后面配置一次就ok了。
但未必一定要在哪里配置.
在后面也可以调用
NVIC_PriorityGroupConfig()
来配置的.

使用特权

评论回复
9
yswtxiao|  楼主 | 2013-8-6 13:05 | 只看该作者
airwill 发表于 2013-8-6 09:18
这只需要在系统初始化配置RCC后面配置一次就ok了。
但未必一定要在哪里配置.
在后面也可以调用

我的意思是说,我在官方例程里面,它就没有设置优先级分组的函数。但是之后又设置了中断优先级,这个我很郁闷。

使用特权

评论回复
10
airwill| | 2013-8-6 15:42 | 只看该作者
哦, 是这样. 我也发现有很多例程前后对不起头的.
不要奇怪, 很多例程都是从其他地方 "移植" 过来的, 也不是一个人写的, 想必也没有完整的测试.
所以, 例程只能做参考. 想用就自己测试咯

使用特权

评论回复
11
yswtxiao|  楼主 | 2013-8-6 16:21 | 只看该作者
airwill 发表于 2013-8-6 15:42
哦, 是这样. 我也发现有很多例程前后对不起头的.
不要奇怪, 很多例程都是从其他地方 "移植" 过来的, 也不是 ...

恩,总之,谢谢啦!

使用特权

评论回复
12
trumpxp| | 2013-8-6 19:20 | 只看该作者
问题解决了就好   楼主   呵呵   谢谢了   版主    感觉版主  真的比较给力  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

105

帖子

2

粉丝