我们从2011年坚守至今,只想做存粹的技术论坛,记录你的技术足迹,有空就回来看看。  由于网站在外面,点击附件后可能要20秒才弹出下载,请耐心等待,勿重复点击

 找回密码
 立即注册
搜索
查看: 794|回复: 3

2440按键中断的问题 - 单片机/处理器 - 电子工程师俱乐部

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-3-29 11:08:15 | 显示全部楼层 |阅读模式
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#define KEY1 (1<<0)
#define KEY2 (1<<3)
#define KEY3 (1<<5)
#define KEY4 (1<<6)
#define LED1 (1<<5)
#define LED2 (1<<6)
#define LED3 (1<<7)
#define LED4 (1<<8)

void IRQ_KEY(void)
{
  rSRCPND&=(~(1<<5));
  rINTPND&=(~(1<<5));
  rEINTPEND&=(~((1<<8)|(1<<11)|(1<<13)|(1<<14)));
  rGPGCON = rGPGCON & (~((3 << 0) | (3 << 6) | (3 << 10) | (3 << 12)));
  if (rGPGDAT & KEY1){
  rGPBDAT |= LED1;
  }
  else {
  rGPBDAT &= ~LED1;
  }
  if (rGPGDAT & KEY2){
  rGPBDAT |= LED2;
  }
  else {
  rGPBDAT &= ~LED2;
  }
  if (rGPGDAT & KEY3){
  rGPBDAT |= LED3;
  }
  else {
  rGPBDAT &= ~LED3;
  }
  if (rGPGDAT & KEY4){
  rGPBDAT |= LED4;
  }
  else {
  rGPBDAT &= ~LED4;
  }
  rGPGCON |= (2 << 0) | (2 << 6) | (2 << 10) | (2 << 12);
}



void Main(void){
  rGPBCON = (rGPBCON & 0xfffc03ff) | 0x15400;
  rGPBDAT |= LED1 | LED2 | LED3 | LED4;
  while (1);
}


void EINT_Init(void){
rGPGCON &= (~((3 <<0) | (3 <<6) | (3 << 10) | (3 << 12)));
rGPGCON |= (2 << 0) | (2 << 6) | (2 << 10) | (2 << 12);
rEXTINT1 = rEXTINT1 & (~((7 << 0) | (7 << 12) | (7 << 20) | (7 << 24)));
rEXTINT1 = rEXTINT1 | ((6 << 0) | (6 << 12) | (6 << 20) | (6 << 24));
pISR_EINT8_23 = (unsigned int)IRQ_KEY;
rPRIORITY = 0x7f; // 使用默认的固定的优先级
rINTMOD = 0x00000000; // 所有中断均为IRQ中断
rSRCPND&=(~(1<<5));
rINTPND&=(~(1<<5));
rEINTPEND&=(~((1<<8)|(1<<11)|(1<<13)|(1<<14)));
rINTMSK &= (~(1<<5)); // 使能外部中断8_23
rEINTMASK &= (~((1 << 8) | (1 << 11) | (1 << 13) | (1 << 14)));
}


程序MAKE后无错误提示,仿真运行后在板子上按键后LED没有反应,调试时GO后程序有时候会跳入一个死循环:33f01608 [0xeafffffe] dcd 0xeafffffe;
但有时候会在主程序断点停下来。
请教高手什么原因啊,是程序问题么??
回复

使用道具 举报

该用户从未签到

20

主题

1364

回帖

0

积分

PADS20220406高级特惠班

积分
0

终身成就奖优秀斑竹奖

发表于 2021-12-16 09:17:32 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

20

主题

1364

回帖

0

积分

PADS20220406高级特惠班

积分
0

终身成就奖优秀斑竹奖

发表于 2021-12-16 09:17:44 | 显示全部楼层
回复

使用道具 举报

该用户从未签到

20

主题

1364

回帖

0

积分

PADS20220406高级特惠班

积分
0

终身成就奖优秀斑竹奖

发表于 2021-12-16 09:17:50 | 显示全部楼层
        
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表