看门狗可以作定时器用吗
如果可以,可以请教下我以下寄存器配置为什么不能进入看门狗中断么?rINTMOD=0x00;//设置中断为IRQ中断
pISR_WDT_AC97=(unsigned int)WDT_isr;
//rWTDAT=0x1000;
rWTCNT = 0x1000;//计数器装初值 超时时间t为0x1000/(50MHz/(255+1)/128=3s
rWTCON = 255<<8|1<<5|3<<3|1<<2|0<<0;//预分频值为(255+1),看门狗定时器使能,时钟分割值选择为1/128,使能看门狗中断禁止复位使能
rSRCPND |= 1<<9;
rINTPND |= 1<<9;
rINTMSK&=~(1<<9);//使能WTCON中断
while(1);
现在情况是:rWTCON最低位置1,如果不喂狗的话,看门狗可以按规定时间复位,但我现在想把它用作普通定时器,行吗,是不是我的寄存器没配置好呢?
以下为看门狗中断函数
void __irq WDT_isr(void)//3S进一次中断
{
rSRCPND |= 1<<9;
rINTPND |= 1<<9;
LED1_ON();
} 问题触决了,初始化少了一条语句,加上INTSUBMSK&=~(1<<13);//打开看门狗子中断就OK了:lol :)有个始终,好作风呀。 的确,提出问题了,最后怎么解决的能分享就最好了;P
页:
[1]