OpenEdv-开源电子网

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

NVIC令我惆怅

[复制链接]

4

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
531
金钱
531
注册时间
2015-2-5
在线时间
46 小时
发表于 2015-3-21 14:42:14 | 显示全部楼层 |阅读模式
5金钱
NVIC里面中断的抢占优先级和亚优先级的设定是根据什么来说的,搞不明白,感觉很随意就给了几个数。。资料里面没找到为什么。。。

最佳答案

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

呵呵这个中断对初学者还是很头疼的,首先抢占优先级和亚优先级(也就是响应优先级),这个以抢占优先级为准,抢占优先级高的先响应(不论亚优先级是多少),抢占优先级相同的,那么亚优先级高的先响应;那么这个优先级是哪个寄存器决定的呢?是NVIC->IP这个寄存器决定的,而这个寄存器有多少位要作为抢占和亚优先级呢,这个是由SCB->AIRCR寄存器决定的,也就是中断分组,分组完了优先级设置完了,再用NVIC->ISER打开对应的中断, ...
我不懂你们所说的奋斗,我喜欢认真做自己的事情。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-3-21 14:42:15 | 显示全部楼层
呵呵这个中断对初学者还是很头疼的,首先抢占优先级和亚优先级(也就是响应优先级),这个以抢占优先级为准,抢占优先级高的先响应(不论亚优先级是多少),抢占优先级相同的,那么亚优先级高的先响应;那么这个优先级是哪个寄存器决定的呢?是NVIC->IP这个寄存器决定的,而这个寄存器有多少位要作为抢占和亚优先级呢,这个是由SCB->AIRCR寄存器决定的,也就是中断分组,分组完了优先级设置完了,再用NVIC->ISER打开对应的中断,就OK了。
关键是要先理清思路,然后就不难了,按照这个思路再去看相关资料就容易理解了,上面三个寄存器在core_m3.h中定义,NVIC相关的介绍在core_m3权威指南里。
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-3-21 19:21:33 | 显示全部楼层
更正一下,抢占优先级高的是可以打断抢占优先级低的,不是先响应
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-21 22:55:08 | 显示全部楼层
楼主没看我们教程么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

20

帖子

0

精华

高级会员

Rank: 4

积分
531
金钱
531
注册时间
2015-2-5
在线时间
46 小时
 楼主| 发表于 2015-3-24 11:44:10 | 显示全部楼层
。。。。这种东西吧,其实就差一下指点,指点到了,就通了。。。。
我不懂你们所说的奋斗,我喜欢认真做自己的事情。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 18:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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