你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

独立看门狗的问题

[复制链接]
mrclp 提问时间:2016-4-21 11:04 /
Help ...用的是stm32f030f4p6,开了独立看门狗之后,仿真设置断点,硬件还是会自动复位是吧?
后面改了程序,都没有给看门狗初始化,设置中断后,硬件还是会自动复位去自己跑程序;还要怎么关闭看门狗?
收藏 1 评论4 发布时间:2016-4-21 11:04

举报

4个回答
xmshao 回答时间:2016-4-21 16:09:04
要重新修改代码,关闭看门狗。复位运行生效。



mrclp 回答时间:2016-4-21 23:06:18
xmshao 发表于 2016-4-21 16:09
要重新修改代码,关闭看门狗。复位运行生效。

关闭看门狗,就是不初始化看门狗的意思吧;
damiaa 回答时间:2017-2-16 13:01:51
本帖最后由 damiaa 于 2017-2-16 13:05 编辑

IWDGInit(); //初始化看门狗
IWDG_ReloadCounter();//喂狗

如果你初始化启动了看门狗,定期喂狗是必须的。否则就复位了。

如果你不初始化启动看门狗,就没必要喂狗。只是在程序跑飞后不能复位重新启动。

看门狗主要是为了 程序跑飞后能复位重新启动


void IWDGInit(void)
{
/* IWDG timeout equal to 250 ms (the timeout may varies due to LSI frequency
     dispersion) */
  /* Enable write access to IWDG_PR and IWDG_RLR registers */
  IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
  /* IWDG counter clock: LSI/32 */
  IWDG_SetPrescaler(IWDG_Prescaler_32);
  /* Set counter reload value to obtain 250ms IWDG TimeOut.
     Counter Reload Value = 250ms/IWDG counter clock period
                          = 250ms / (LSI/32)
                          = 0.25s / (LsiFreq/32)
                          = LsiFreq/(32 * 4)
                          = LsiFreq/128
   */
  //IWDG_SetReload(LsiFreq/128);
  IWDG_SetReload(40000/128);
  /* Reload IWDG counter */
  IWDG_ReloadCounter();
  /* Enable IWDG (the LSI oscillator will be enabled by hardware) */
  IWDG_Enable();
}

oid IWDG_ReloadCounter(void)
{
  IWDG->KR = KR_KEY_RELOAD;
}

IC销售工程师 回答时间:2017-2-18 09:33:08
围观

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版