我编了一个简单WDT程序,但WDT不起作用,为什么?
main
{
...
...
*AT91C_WDTC_WDMR = (0X2FF << 0 | 0X2FF << 24 ) & (~(AT91C_WDTC_WDIDLEHLT | AT91C_WDTC_WDDBGHLT));
//在模式寄存器中我试了许多方式,比如加:WDRPROC、WDRSTEN等,都没起作用
...
...
while(1)
{
*AT91C_PIOB_CODR = AT91B_LED;
delay();
*AT91C_PIOB_SODR = AT91B_LED;
delay();
if(key_press)
{
while(1);
}
*AT91C_WDTC_WDCR = 1 | (0XA5 << 24);
}
程序第一次进入,灯闪,一旦按下开关,等了很长时间也没有复位。即灯没有再闪了 |