chenweigang 发表于 2013-6-13 20:13:44

LPC1788如何设置抢先优先级的个数?

如题,在STM32里有先设置抢先优先级和子优先级个数函数,在LPC1788里是哪个呢。如果不设,初始化是什么呢

Excellence 发表于 2013-6-13 21:01:39

有。看看LPC1788 KEIL或IAR下的例程。
不设置有默认的。

chenweigang 发表于 2013-6-13 21:40:56

Excellence 发表于 2013-6-13 21:01 static/image/common/back.gif
有。看看LPC1788 KEIL或IAR下的例程。
不设置有默认的。

函数是有的,但是例程中都没有调用,直接是NVIC_SetPriority,这个是用来设置IPR_N的值的啊

逆流而上 发表于 2013-6-13 21:49:34

AIRCR (应用中断及复位控制寄存器)的【10:8】位(优先级分组)在默认情况下,值为0。意思是:抢占优先级位段共7位,子优先级共0位。

逆流而上 发表于 2013-6-13 21:53:11

建议看下1788的使用手册!比如1766是用5位表达优先级的,选择高五位表达。如果在默认情况下,优先级分组为0,那么其高五位就是全位为抢占优先级。共32级。

chenweigang 发表于 2013-6-14 08:09:39

逆流而上 发表于 2013-6-13 21:53 static/image/common/back.gif
建议看下1788的使用手册!比如1766是用5位表达优先级的,选择高五位表达。如果在默认情况下,优先级分组为0 ...

前面怎么分级我知道,就是不知道你说的的默认在哪里体现,应该有个地方要配置下吧?但是在程序中都没有体现啊,还有就是手册上也没给默认优先级寄存器的值

chenweigang 发表于 2013-6-14 08:51:16

逆流而上 发表于 2013-6-13 21:53 static/image/common/back.gif
建议看下1788的使用手册!比如1766是用5位表达优先级的,选择高五位表达。如果在默认情况下,优先级分组为0 ...

多谢,找到了。想再问下,子优先级是什么意思

Excellence 发表于 2013-6-14 12:53:00

两级优先级。

主优先级,子优先级

xi_liang 发表于 2014-2-22 12:53:16

关于中断优先级分组,数据手册中有句话:
每个PRI_N域为8位宽,但是处理器仅实现每个域的位,位读取值为零并忽略写入值。
设置优先级分组:
NVIC_SetPriorityGrouping(4); //SCB->AIRCR = 4 <<8; 即组优先级,子优先级

jisaowang2 发表于 2014-2-22 13:22:16

都是cmsis标准函数 哪家的cortex m3都是一样的函数
页: [1]
查看完整版本: LPC1788如何设置抢先优先级的个数?