天嵌 ARM开发社区

 找回密码
 注册
查看: 1686|回复: 2

按键中断

[复制链接]
guizhang001 发表于 2010-1-22 19:28:47 | 显示全部楼层 |阅读模式
//中断初始化部分
rGPFCON =0x22a;//(2<<8)|(2<<4)|(2<<2)|2 ;        0010 0010 1010        //GPF4,2,1,0 set EINT,GPFCON对应位为10时,则为EINT
rEXTINT0 =0x2022;//(0x2<<16)|(0x2<<8)|(0x2<<4)|2;                001x 0000 001x 001x  001x//set eint0,1,2,4 falling edge int,设置为下降沿触发
pISR_EINT0 = pISR_EINT1 = pISR_EINT2 = pISR_EINT4_7 = (unsigned int)Key_ISR;
//EnableIrq(BIT_EINT0|BIT_EINT1|BIT_EINT2|BIT_EINT4_7);
//rINTMOD=0x0;//设置为IRQ模式
rEINTPEND=0xffffff;//外部中断悬挂寄存器使能       
rSRCPND=KEY1|KEY2|KEY3|KEY4;//中断源状态寄存器
rINTPND=KEY1|KEY2|KEY3|KEY4;//中断源状态寄存器
rEINTPEND |= (1<<4);                                       
//clear eint 4
        rEINTMASK = ~(1<<4);                                                //enable eint 4
        rINTMSK=0x0;//开启中断
请问这么设置中断有问题吗?我的怎么无法实现中断啊?还请高手指点,下面是中断处理函数
static void __irq Key_ISR(void)
{
        unsigned char key;
        unsigned int r;
       
        EnterCritical(&r);
        //Uart_Printf("eint1\n");
        //ClearPending(BIT_EINT1);
        rSRCPND=0x01;
        rINTPND=rINTPND;
        rGPBDAT=0x00000001;//打开蜂鸣器
        p=1;//设置中断标记位,主函数中查询

        ExitCritical(&r);
}
TQ_guoxixiao 发表于 2012-5-10 10:08:52 | 显示全部楼层
先参考我们的代码吧
﹖诲ザ 发表于 2012-5-21 12:50:07 | 显示全部楼层
TQ_guoxixiao 发表于 2012-5-10 10:08
先参考我们的代码吧

http://armbbs.net/forum.php?mod= ... hlight=%D6%D0%B6%CF版主,你好··你能帮我看一下我的那张帖子吗?晒了好多天了,没人给回··
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2024-10-6 18:31 , Processed in 1.027278 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表