我使用的芯片是 MK16Z64VHL4,在数据手册中描述关于中断有如下
3.3.2.3 Interrupt channel assignments
The interrupt vector assignments are defined in the following table.
• Vector number — the value stored on the stack when an interrupt is serviced.
• IRQ number — non-core interrupt source count, which is the vector number minus
16.
配置中断时是用IRQ num
比如:SYStick中断,就是 enable_irq(-1);
可能对NVIC等概念我不是很清楚,所以请大家帮我解释一下,这两个概念有什么不同?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
IRQ number就是IRQ中断的逻辑序号,举个例子,IRQ number = 0,对应于异常表的第16个元素,也就是Vector number的编号为16。
举个例子,SysTick的Vector number是15,IRQ number是-1。
而你举得例子,
比如:SYStick中断,就是 enable_irq(-1);
理论上,是不会出现这样的调用,因为enable_irq是针对外部中断的,也就是IRQ number >= 0的中断。
你可以再看下代码,开启SysTick异常中断的具体方法。
一周热门 更多>