求教看门狗进入不了中断问题
直奔主题吧。下面是我使用的代码,用AXD调试的时候发现能够看门狗能够运行,理由是能够看到rWTCNT里数值的变化。但就是进入不了中断extern int flag;
void __irq watchdog()
{
flag=!flag;
rSRCPND|= 0x1<<9;
rSUBSRCPND|= 0x1<<13;
rINTPND|= 0x1<<9;
}
void watchdoginit()
{
rWTCON &=~((0xff<<8)|(1<<5)|(1<<2)|1);
rWTCON |=((0xf9<<8)|(1<<5)|(1<<2)); //开启看门狗定时器中断,禁止看门狗复位
rWTDAT = 50000; //设置看门狗定时器超时时间为4秒(50÷12.5)
rWTCNT = 50000;
rSUBSRCPND|= 0x1<<13;
rSRCPND|= 0x1<<9;
rINTPND|= 0x1<<9;
rINTSUBMSK&= ~(0x1<<13); //打开中断子屏蔽
rINTMSK&= ~(0x1<<9); //打开中断屏蔽
pISR_WDT_AC97 = (U32)watchdog;
}
希望知道的同学能够帮下忙,中断的问题也看过好几次了。求大侠指点 CPU的那些时钟及看门狗的时钟都都设好了没
页:
[1]