请教AT91SAM7X单片机的WDT问题

[复制链接]
2545|2
 楼主| pttptt85 发表于 2010-7-29 15:31 | 显示全部楼层 |阅读模式
我编了一个简单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);
}
程序第一次进入,灯闪,一旦按下开关,等了很长时间也没有复位。即灯没有再闪了
xlsbz 发表于 2010-7-29 20:15 | 显示全部楼层
看样子你没有仔细看手册!

WTD 仅仅可以被设置1次!就是说只有第一次设置才有效!

就是说 令
  1. WTD = ?? // 第一次设置看门狗
  2.            WTD = ?? //第2次设置看门狗
等价于
  1. WTD = ?? // 第一次设置看门狗
所以说 肯定是再你之前已经设置过看门狗了   看看你的启动文件吧
或者 看看 软件的调试窗口
 楼主| pttptt85 发表于 2010-7-30 09:37 | 显示全部楼层
我知道可以被设置一次,原来在启动代码里有设置了,我还以为我就是第一次呢,这个我没想到.多谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

110

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部