好多天都没结果,只好厚着脸皮问了。
arm2440裸奔 开发工具:ADS1.2
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
void ee_isr (void) //中断服务函数
{
unsigned int y;
rINTPND=0x00000001;
rSRCPND=0x00000001;
rGPBDAT=0x3f1;
for(y=0;y<1000000;y++);
rGPBDAT=0x3fe;
rGPFCON=0x0002; //重置按键K4为EINT0中断
}
void Main(void)
{
rGPBCON=0x55555;
rGPFCON=0x0002; //设置按键K4为EINT0中断
pISR_EINT0= (unsigned int) ee_isr ;//中断服务函数名
rEXTINT0=0x0; //设置为低电平触发
rINTPND=0x00000001; //中断挂起寄存器;1为请求;
rSRCPND=0x00000001; //中断源挂起寄存器1为请求;
rINTMOD=0x00000000; //中断模式寄存器0为IRQ模式;
rINTMSK=0xFFFFFFFe; //中断屏蔽寄存器0为允许;
rPRIORITY=0x000001; //中断优先级寄存器;
while(1)
{unsigned int i;
rINTPND=0x00000001;
rGPBDAT=0x12e;
for(i=0;i<800000;i++);
rGPBDAT=0x0de;
for(i=0;i<800000;i++);
}
}