查看: 4918|回復: 1
打印 上一主題 下一主題

[提問(wèn)] 2440按鍵中斷的問(wèn)題

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2009-12-13 19:27:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: 按鍵 , 問(wèn)題 , 中斷
#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;     // 使用默認的固定的優(yōu)先級
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后無(wú)錯誤提示,仿真運行后在板子上按鍵后LED沒(méi)有反應,調試時(shí)GO后程序有時(shí)候會(huì )跳入一個(gè)死循環(huán):33f01608 [0xeafffffe] dcd 0xeafffffe;
但有時(shí)候會(huì )在主程序斷點(diǎn)停下來(lái)。
請教高手什么原因啊,是程序問(wèn)題么??
沙發(fā)
 樓主| 發(fā)表于 2009-12-14 21:58:37 | 只看該作者
有沒(méi)有人知道原因的啊,我換了個(gè)程序,還是出現上面的問(wèn)題,GO后程序進(jìn)入PC為33f01608 [0xeafffffe] dcd 0xeafffffe;死循環(huán).
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页