打印

请教AT91SAM7X单片机的WDT问题

[复制链接]
1712|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次!就是说只有第一次设置才有效!

就是说 令
WTD = ?? // 第一次设置看门狗
           WTD = ?? //第2次设置看门狗
等价于
WTD = ?? // 第一次设置看门狗
所以说 肯定是再你之前已经设置过看门狗了   看看你的启动文件吧
或者 看看 软件的调试窗口

使用特权

评论回复
板凳
pttptt85|  楼主 | 2010-7-30 09:37 | 只看该作者
我知道可以被设置一次,原来在启动代码里有设置了,我还以为我就是第一次呢,这个我没想到.多谢了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

110

帖子

1

粉丝