主题 : 求助2440定时器中断程序 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 62168
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
综合积分: 18 分
注册时间: 2012-01-16
最后登录: 2012-02-05
楼主  发表于: 2012-01-18 20:27

 求助2440定时器中断程序

请哪位高手帮忙看下程序错哪里。只进入定时器中断两次.
#define BIT_TIMER4 (0x1<<14)
void __irq TIME4_ISR(void)
{
rINTPND |= BIT_TIMER4;
rSRCPND|=BIT_TIMER4;
Uart_Printf("\n----time4-----");

}
int Main()
{
Uart_Init(115200);

rTCFG0=0x0;
rTCFG0=0xf9<<8;
Uart_Printf("\n----%8d-----",rTCFG0);
rTCFG1=0;
rTCFG1=0x1<<16;
Uart_Printf("\n----%8d-----",rTCFG1);

rTCNTB4=0xffff;
rTCON=(1<<22)|(1<<21)|(1<<20);
rTCON=rTCON>>5;rTCON=rTCON<<5;

pISR_TIMER4=(unsigned int)TIME4_ISR;

rSRCPND|=BIT_TIMER4;
rINTPND |= BIT_TIMER4;
rINTMSK=~BIT_TIMER4;
while(1);
}
hi。