OpenEdv-开源电子网

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

stm32f407中内核异常(如pendsv)与外设中断优先级怎么比较?

[复制链接]

3

主题

5

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-3-5
在线时间
7 小时
发表于 2016-5-22 16:55:33 | 显示全部楼层 |阅读模式
stm32f407中外设中断优先级可有抢占和响应级决定优先顺序,可是CM4的内核异常貌似没有,那么内核异常和外设中断出现,处理器怎么判断谁的优先级高呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

43

主题

481

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1352
金钱
1352
注册时间
2014-12-24
在线时间
321 小时
发表于 2016-5-22 19:19:27 | 显示全部楼层
比较这个有什么用,你担心优先级低的执行不到?
优先级在 .h 文件中有定义,启动文件的中断向量表也是按次序排列的。
回复 支持 0 反对 1

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-5-22 20:30:48 | 显示全部楼层
MrWei 发表于 2016-5-22 19:13
我问的是内核异常和外设中断优先级比较。比如:systick异常和exti0中断,外部中断有两级优先级,但是内核 ...

既然可以设置,那也可以读取出来,使用NVIC_GetPriority函数
坚决不用寄存器,拒绝重复造轮子。
回复 支持 1 反对 0

使用道具 举报

5

主题

277

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1522
金钱
1522
注册时间
2014-5-16
在线时间
217 小时
发表于 2016-5-22 17:19:58 | 显示全部楼层
本帖最后由 zmingwang 于 2016-5-22 17:21 编辑

1.CM4是通过设置优先级分组来确定中断的响应先后.2.STM32中什么4个位来表示优先级.
3. 不管是抢占优先级还是子优先级,都是数值越小,优先级越高.
4. 优先级配置应在程序启动后立即配置,并且之后不再修改.
5.如无明确需求,可将所有中断的优先级配置为0,此时按照中断向量表中序号从小到大响应中断.

回复 支持 反对

使用道具 举报

6

主题

1097

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3571
金钱
3571
注册时间
2014-12-2
在线时间
365 小时
发表于 2016-5-22 18:36:58 | 显示全部楼层
谁说内核中断没有优先级?

p.png


只不过有些特殊罢了,
坚决不用寄存器,拒绝重复造轮子。
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-3-5
在线时间
7 小时
 楼主| 发表于 2016-5-22 19:12:04 | 显示全部楼层
xkwy 发表于 2016-5-22 18:36
谁说内核中断没有优先级?

我问的是内核异常和外设中断优先级比较。比如:systick异常和exti0中断,外部中断有两级优先级,但是内核异常在设置时并没有抢占和响应优先级的概念?那么内核异常和外设中断优先级该如何比较呢
回复 支持 反对

使用道具 举报

3

主题

5

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-3-5
在线时间
7 小时
 楼主| 发表于 2016-5-22 19:13:04 | 显示全部楼层
xkwy 发表于 2016-5-22 18:36
谁说内核中断没有优先级?

我问的是内核异常和外设中断优先级比较。比如:systick异常和exti0中断,外部中断有两级优先级,但是内核异常在设置时并没有抢占和响应优先级的概念?那么内核异常和外设中断优先级该如何比较呢
回复 支持 反对

使用道具 举报

12

主题

101

帖子

0

精华

高级会员

Rank: 4

积分
963
金钱
963
注册时间
2016-3-16
在线时间
109 小时
发表于 2017-10-23 19:00:19 | 显示全部楼层
楼主解决了吗?分享一下,目前还没找到权威解释这个问题。
回复 支持 反对

使用道具 举报

12

主题

101

帖子

0

精华

高级会员

Rank: 4

积分
963
金钱
963
注册时间
2016-3-16
在线时间
109 小时
发表于 2018-9-10 22:32:32 | 显示全部楼层
在内核手册找到了相关的,异常是在SCB寄存器里配置的。NVIC配置的是外中断(中断号16~240)
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2019-4-17
在线时间
6 小时
发表于 2020-4-21 19:51:17 | 显示全部楼层
同问这个问题
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-2 07:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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