请高手帮忙,我的44b0程序中看门狗定器,按如下程序初始化不能进入中断服务程序,请问是哪里出问题了,我的程序很简单,只做看门狗定时器测试,先谢了!
//看门狗定器部分
void InitWDTimer(void)
{
rINTMSK=~(BIT_GLOBAL|BIT_WDT);
pISR_WDT=(int) Wdt_Int; //(unsigned)Wdt_Int;
isWdtInt=0;
rWTCON=((MCLK/1000000-1)<<8)|(3<<3)|(1<<2); // t_watchdog = 1/66/128, interrupt enable
rWTDAT=8448/4;
rWTCNT=8448/4;
rWTCON=rWTCON|(1<<5); // 1/40/128,interrupt
// while(isWdtInt!=10);
// rWTCON=((MCLK/1000000-1)<<8)|(3<<3)|(1); // 1/66/128, reset enable
// Uart_Printf("\nI will restart after 2 sec!!!\n");
// rWTCNT=8448*2;
// rWTCON=rWTCON|(1<<5); // 1/40/128,interrupt
// while(1);
// rINTMSK|=BIT_GLOBAL;
}
void __irq Wdt_Int(void)
{
rI_ISPC=BIT_WDT;
//Uart_Printf("%d ",++isWdtInt);
nLed=1;
LED0_ON()
}
void Isr_Init(void)
{
//rINTCON=0x1; // Vectored Int. IRQ enable,FIQ disable
rINTCON=0x5; // Non-vectored,IRQ enable,FIQ disable
rINTMOD=0x0; // All=IRQ mode
// rINTMSK=0x07ffffff; // All interrupt is masked.
}
//主程序部分
void Main()
{
//rSYSCFG=SYSCFG_8KB;
Isr_Init();
Port_Init();
//Timer_Start(0);
//Test_TimerInt();
InitWDTimer();
nLed=0;
LED0_OFF()
while(1)
{
if(nLed)
{
LED0_OFF()
}
}
}