IntPrioritySet( )和IntPriorityGroupingSet( )有什么区别

2019-03-24 15:42发布

 函数 IntPriorityGroupingSet(  )和 IntPriorityGroupingGet(  )用来管理抢占式优先级和子优先级的分组设置   函数 IntPrioritySet(  )和 IntPriorityGet(  )用来管理一个片内外设的优先级   两者有什么区别   具体怎么用? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
fxw451
1楼-- · 2019-03-24 20:48
< void IntPrioritySet(unsigned long ulInterrupt, unsigned char ucPriority)  要有一个中断源,对一个中断进行设置。

void IntPriorityGroupingSet(unsigned long ulBits)   设置中断控制器的优先级分组

不过我还没用到这么深饿的地步,这是手册里写的
David_Lee
2楼-- · 2019-03-24 23:30
< :TI_MSP430_内容页_SA7 -->

原帖由 heningbo 于 2011-7-4 09:00 发表  函数 IntPriorityGroupingSet(  )和 IntPriorityGroupingGet(  )用来管理抢占式优先级和子优先级的分组设置   函数 IntPrioritySet(  )和 IntPriorityGet(  )用来管理一个片内外设 ...

 

没有具体用过,只看到这么一些描述:

 

lm3s811中文.PDF

Page 40

http://bbs.eeworld.com.cn/thread-290180-1-5.html

 

表 4-1 在 40页列出了所有的异常。软件可在7个异常(系统处理程序)以及26个中断上设置8个优先级(在 表 4-2 在 41页中列出)。
系统处理程序的优先级是通过NVIC系统处理程序优先级寄存器来设置的。中断是通过NVIC中断设置使能寄存器来使能的,并且由NVIC中断优先级寄存器来区分其优先等级。你还可以把优先级划分为占先优先级(Pre-emption priorities)和次要优先级(subpriorites)两组。所有的中断寄存器在ARM®Cortex™-M3 技术参考手册 第8章“嵌套向量中断控制器”中描述。
用户可设置的最高优先级(0)在内部看作是优先级4,仅次于复位、NMI以及硬件故障。注意:0是所有可调整优先级的默认优先级。
如果你将两个或更多的中断指定为相同的优先级,那么它们的硬件优先级(位置编号越高优先级越低)就决定了处理器激活中断的顺序。例如,如果GPIO端口A和GPIO端口B都为优先级1,那么GPIO端口A的优先级更高。
有关异常和中断的更多信息请见ARM® Cortex™-M3 技术参考手册中的第5章“异常”和第8章“嵌套向量中断控制器”。

 

Cortex-M3 技术参考手册.pdf

Page 43

Cortex-M3 技术参考手册.pdf (1.67 MB, 下载次数: 116) 2011-7-4 23:40 上传 点击文件名下载附件

 

5.3.2 优先级分组
为了对具有大量中断的系统加强优先级控制,NVIC 支持优先级分组机制。您可以使用应用中断和复位控制寄存器中的PRIGROUP区来将每个PRI_N中的值分为占先优先级区和次优先级区。我们将占先优先级称为组优先级。如果有多个挂起异常共用相同的组优先级,则需使用次优先级区来决定同组中的异常的优先级,这就是同组内的次优先级。组优先级和次优先级的结合就是通常所说的优先级。如果两个挂起异常具有相同的优先级,则挂起异常的编号越低优先级越高。这与优先级机制是一致的。

ddllxxrr
3楼-- · 2019-03-25 02:04
 精彩回答 2  元偷偷看……
heningbo
4楼-- · 2019-03-25 05:35
有实例吗?
论坛不是有TI专家吗,帮忙解决一下
pingufocpux
5楼-- · 2019-03-25 06:32
还是不是很懂,有高手更详细的说明吗?
tekkon
6楼-- · 2019-03-25 06:50
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章