程序是:
//***************************************************
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"
#include "mmu.h"
//================================
#define GPB5_out (1<<(5*2)) //led1
#define GPB6_out (1<<(6*2)) //led2
#define GPB7_out (1<<(7*2)) //led3
#define GPB8_out (1<<(8*2)) //led4
#define GPB1_Timer (0x2<<(1*2))
int i=0;
void __irq Timer1Done(void)
{
Uart_Printf("Timer1 is occurred.\n");
rSRCPND=(1<<rINTOFFSET); //写1清中断
rINTPND=rINTPND;
}
int Main()
{
MMU_Init();
Uart_Printf("EINT0 is occurred.\n");
rGPBCON=GPB5_out|GPB6_out|GPB7_out|GPB8_out|GPB1_Timer;
rINTMOD=0;
rINTMSK&=0xffff7fff; //开时钟1中断
pISR_TIMER1=(U32)Timer1Done; //设置中断1处理函数
rTCFG0=rTCFG0&~(0xffffffff)|(1);
rTCFG1=rTCFG1&~(0xffffffff)|(0x00<<4);
rTCNTB1=47625;
rTCMPB1=(rTCNTB1>>1);
rTCON=rTCON&~(0xf)|(1<<9); //手动装载
rTCON=(0x0D<<8); //设置自动装载,开中断,翻转
return 0;
}