betway88必威体育
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 求教关于S3C44B0的中断问题

共1条 1/1 1 跳转至

求教关于S3C44B0的中断问题

菜鸟
2005-01-06 19:02:36     打赏
各位ARM高手,我刚刚接触ARM,我用的ARM7的S3C44B0的芯片,现在中断程序不好用,不知道为什么希望各位高手能帮忙看一看:

void Main(void)

{

int TEMP_rEXTINT;

unsigned int k;

//设置G口为外部中断口

*((unsigned char*)0x2000000) = 0xff;

for(k=0;k<60000;k++);

*((unsigned char*)0x2000000) = 0x0f;

for(k=0;k<60000;k++);

rINTMOD=0;

rINTMSK=~(BIT_GLOBAL | BIT_EINT0 | BIT_EINT1);

rPCONG=0x57ff; //PortG[0~4] EINT MODE,PortG[5~7] OUT设置中断接口状态

rINTCON=0x5; // non Vectored interrupt mode , IRQ mode enable

TEMP_rEXTINT=rEXTINT;//保存外部中断控制寄存器的值

rEXTINT=(TEMP_rEXTINT & 0xffffff22) | 0xffffff22; //EINT[0,1] will be falling edge triggered.

pISR_EINT0=(int)Eint0Isr;//设置外部0的中断向量

pISR_EINT1=(int)Eint1Isr;//设置外部1的中断向量

rEXTINPND=0xf; //clear EXTINPND reg.

rI_ISPC= BIT_EINT0 | BIT_EINT1; //clear pending_bit

rINTMSK=~(BIT_GLOBAL | BIT_EINT0 | BIT_EINT1); //External interrupt0,1 check..

// Delay(20);

}

/********************************************************************

// Function name : Eint0Isr

// Description : eint0 isr

// Return type : void

// Argument : void

*********************************************************************/

void Eint0Isr(void)

{

char i;

unsigned int j;

for(i=0;i<5;i++)

{

switch(i)

{

case 0: *((unsigned char*)0x2000000) = 0xff; break;

case 1: *((unsigned char*)0x2000000) = 0x7f; break;

case 2: *((unsigned char*)0x2000000) = 0x3f; break;

case 3: *((unsigned char*)0x2000000) = 0x1f; break;

case 4: *((unsigned char*)0x2000000) = 0x0f; break;

default: break;

}

for(j=0;j<60000;j++);

}

rI_ISPC= BIT_EINT0; //clear pending_bit

}

/********************************************************************

// Function name : Eint1Isr

// Description : eint1 isr

// Return type : void

// Argument : void

*********************************************************************/

void Eint1Isr(void)

{

char i;

unsigned int j;

for(i=0;i<5;i++)

{

switch(i)

{

case 0: *((unsigned char*)0x2000000) = 0xff; break;

case 1: *((unsigned char*)0x2000000) = 0x7f; break;

case 2: *((unsigned char*)0x2000000) = 0x3f; break;

case 3: *((unsigned char*)0x2000000) = 0x1f; break;

case 4: *((unsigned char*)0x2000000) = 0x0f; break;

default: break;

}

for(j=0;j<60000;j++);

}

rI_ISPC= BIT_EINT1; //clear pending_bit

}

我的联系方式:qq25195314,也希望和各位交流交流!!谢谢!




关键词: 求教     关于     S3C44B0     中断     问题     unsig    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]