本人初学ARM 做一些简单实验。
设置外部中断0 EINT0 为下降沿触发方式,当中断产生时IO口F端口变成低电平LED灯亮。程序如下:
#include <2410lib.h>
void __irq int0_int(void);
void int_init(void)
{
rSRCPND=rSRCPND;
rINTPND=rINTPND;
rGPFCON=rGPFCON&0x00FF|0x5500;
rGPFDAT=rGPFDAT|0xF0;
rEXTINT0=(rEXTINT0&~(0x7<<0))|(0x2<<0);
pISR_EINT0=(UINT32T)int0_int;
rSRCPND=BIT_EINT0;
rINTPND=BIT_EINT0;
rINTMSK&=~(BIT_EINT0);
}
void __irq int0_int(void)
{
int i;
rGPFDAT=rGPFDAT&0x00;
for(i=0;i<1000000;i++);
rGPFDAT=rGPFDAT|0xF0;
ClearPending(BIT_EINT0);
}
void main()
{
int_init();
while(1);
}
编译正确 仿真时没现象。 |