KEA外部中断问题

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

KEA外部中断问题

2,603 Views
haifengjin
Contributor II

看了贵司的手册,外部中断写了寥寥几句话,不明白哪个IO口支持外部中断,看了管脚复用章节的表格,只有没几个支持外部中断,为什么ARM内核设计成只支持这几个,现在需要很多外部中断,我该如何设计,难道使用KBI,为什么KBI会有这么多,没看明白,外部中断和KBI我到底如何抉择

Labels (1)
0 Kudos
5 Replies

2,138 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Haifeng Jin,

    外部中断通常可以用IRQ,NMI,KBI.

    1.IRQ的引脚有:

The IRQ is assigned to pin PTA5 by default . By configuring SIM_PINSEL0[IRQPS], IRQ can be re-assigned to pin PTI0, PTI1, PTI2, PTI3, PTI4, PTI5 or PTI6.

   其实你可以发现还是有好多引脚支持外部中断的,但是对于IRQ模块,因为只有一个,同一时刻,只有一个引脚可以选择为IRQ的引脚。

   2. NMI引脚

     不可屏蔽中断,外部输入为低则进入NMI中断

   3. KBI键盘中断

pastedImage_1.png

从结构图可以看出,如果有一个按键按下,没有释放,其他按键不会有相应中断。

 

所以,如果一般的外部中断,建议你还是选择IRQ。

关于IRQ的代码,我之前有在与非网上分享过一个,你可以参考:

【经验分享】KEA128 IRQ例程分享

希望能帮到你!


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,138 Views
haifengjin
Contributor II

hi  Kerry:

               如果是外部中断,我看了下,如果两路同时配置成外部中断,如果两个IO上面同时发生事件,其实他是无法判断是哪个IO发生的事件,不像KBI那样,可以判断哪个管脚KBI0_SP发生变化

0 Kudos

2,138 Views
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Haifeng,

   正如我之前回复你的,如果用IRQ,你不可能同时配置两路为外部中断,IRQ只有一个,同一时刻,你只能配置一路。

 


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

2,138 Views
haifengjin
Contributor II

OK我已经明白,谢谢

0 Kudos

2,138 Views
haifengjin
Contributor II

hi  Kerry:

               确实,我发现KBI中断是不适合作为外部中断使用的,KBI中断有很多限制,

2.KBI中断问题,下载的是官方的IAR例程,我的板子是TWR-keaz128,今天实验下来,板子上电之前,我实验的管脚用PTA0和PTA1,先把这两个管脚上拉到电源,通过10K电阻上拉,然后按照demo的配置,上升沿触发,仿真看到这个时候KBI0_SP的值是0xFFFFFFFF,这个就与datasheet描述不符合了
,这个值说是发生按键事件,才会置1,但是我现在上电开始就是高电平,还没有发生事件,这个竟然也是1,这个与描述不符合。
 3.按照问题二的配置,都配置为上上升沿出发,两个管脚都是高电平上拉,开始运行程序,然后一个PTA0通过飞线去接触GND,然后拿开,这样就有一个上升沿,但是实际中断没有进入,然后PTA0保持上拉状态,PTA1去接触GND,产生一个上升沿,中断也没有执行。然后继续试验,把其中一路PTA0,接到GND,试验PTA1触发,飞线接触GND,中电可以执行,PTA1和PTA0情况互换,都可以。结论:同时两路KBI中断的时候,都配置为上升沿触发,都上拉10K到电源,任何一个都不会正常工作,进入中断,只有让一路进入低电平,另外一路可以正常工作。
pastedImage_1.png
0 Kudos