智能车制作

标题: 怎么查看K60的中断优先级呀,data sheet里面的编号是IRQ除以4,但是会到23,中断优先 [打印本页]

作者: 影翼    时间: 2013-2-23 21:04
标题: 怎么查看K60的中断优先级呀,data sheet里面的编号是IRQ除以4,但是会到23,中断优先
怎么查看K60的中断优先级呀,data sheet里面的编号是IRQ除以4,但是会到23,中断优先级智能是0到15,怎么回事呀

作者: back    时间: 2013-2-23 21:47
本帖最后由 back 于 2013-2-23 21:55 编辑

默认优先级就是中断向量表里的顺序。可以直接调用Cortex-M4的内核函数void set_irq_priority (int, int)来重定义优先级,源代码在arm_cm4.c里。从你的提问可以看出你相当混乱,接着自己研究吧,也许这是你的第一个瓶颈!
作者: 370937595    时间: 2013-3-16 22:06
也就是说对应的中断向量表数值越低,中断优先级越高吗
作者: chwwdnop    时间: 2013-6-4 20:24
370937595 发表于 2013-3-16 22:06
也就是说对应的中断向量表数值越低,中断优先级越高吗

我也是刚学,不知道理解的对不对,每个IPR中存储4个IRQ的值,低功耗寄存器的IRQ是85,但是IRQ是从0开始的,那么它是在第86/4=21·····2,由于IPR寄存器也是从0开始的,也就是在第22个IPR中,及IPR21,那么从第几位开始呢?刚刚不是算出余数是2么,所以就是从12位到15位了~下面的是赋值的k60的中文ds
如果你需要配置低功耗寄存器中断,下面的表格来自“中断号分配”。地址             中断编号   IRQ 号  (1)非优先级编号(2)中断优先级编号   (3)源模块描述
0x0000_0194   101           85              2                                21              低功耗定时器



• NVICISER2, NVICICER2, NVICISPR2, NVICICPR2, NVICIABR2 位
位置= IRQ / 32 = 21//个人认为这里的除号是不是应该改成%
• NVICIPR21 位域的起始地址= 8 * (IRQ / 4) + 4 = 12//个人认为这里的除号是不是应该改成%
因为NVICIPR 的位域的4 位宽,所以NVICIPR21 的范围是12-15。
因此,下列的位域的位是用来配置低功耗定时器的中断的。
• NVICISER2[21]
• NVICICER2[21]
• NVICISPR2[21]
• NVICICPR2[21]
• NVICIABR2[21]
• NVICIPR21[15:12]





作者: 赖茂能(San重门    时间: 2013-7-16 08:36

作者: nfdianzi    时间: 2014-4-12 15:32

作者: 奇怪的面纱    时间: 2015-1-14 20:46
:):)




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2