打印

求助:窗口看门狗

[复制链接]
2520|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
freefish|  楼主 | 2009-6-22 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET)

    RCC_ClearFlag();
}
WWDG_DeInit();

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);

WWDG_SetPrescaler(WWDG_Prescaler_8); 

WWDG_SetWindowValue(68);

WWDG_Enable(127);

WWDG_ClearFlag();

PCLK1为36MHZ,结果一执行WWDG_Enable()就复位,WWDG_ClearFlag()的断点就没停住过.
请各位帮忙分析一下,WWDG一使能就复位的原因?
沙发
香水城| | 2009-6-22 21:02 | 只看该作者

不是不能停到断点

是因为停到断点时没有停止看门狗中计数器的计数,在你还没有看到调试界面时看门狗就复位了。

请参考STM32参考手册的第26.15.2节的说明。

使用特权

评论回复
板凳
freefish|  楼主 | 2009-6-22 21:17 | 只看该作者

注意到此问题了

香斑竹还没休息啊,辛苦了.
此问题也注意到了,我在while(1)里只加了以下语句,没开中断,还是执行WWDG_Enable(127);就复位



if(WWDG_GetFlagStatus() == RESET)
  {
     WWDG_SetCounter(127);  
     WWDG_ClearFlag();
  } 
后来改成了 
if(WWDG_GetFlagStatus() != RESET)
  {
     WWDG_SetCounter(127);  
     WWDG_ClearFlag();
  }   

仍然不行,折腾了9小时了,只好求助各位了.  

使用特权

评论回复
地板
freefish|  楼主 | 2009-6-22 21:33 | 只看该作者

再想一下

WWDG_SetWindowValue(68);
这里的窗口设置是68就是0x44,与0x40太接近了,是否没来得及WWDG_SetCounter(127);  就RST了?

使用特权

评论回复
5
bhsdlmj| | 2009-6-24 13:20 | 只看该作者

是不是说的这个

http://www.ourstm.com/bbs/bbs_content.jsp?bbs_sn=3402759&bbs_page_no=1&bbs_id=3020
相关链接:http://www.ourstm.com/bbs/bbs_content.jsp?bbs_sn=3402759&bbs_page_no=1&bbs_id=3020

使用特权

评论回复
6
wudonghua| | 2009-6-25 14:03 | 只看该作者

仿真测试时有时老出现看门狗复位,但实际运行就没了!

使用特权

评论回复
7
渤海三叠浪| | 2009-6-25 16:24 | 只看该作者

6楼,那是因为你的程序有问题!

使用特权

评论回复
8
xwj| | 2009-6-25 16:28 | 只看该作者

调试时当然要禁掉看门狗,不然一中断,看门狗能不复位吗

这条狗可老实了呢...

使用特权

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

本版积分规则

21

主题

190

帖子

0

粉丝