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

STM32的看门狗使用

[复制链接]
caizhiwei 发布时间:2015-3-2 13:47
  1. /**************************************************************************************
  2. * FunctionName   : IWDTInit()
  3. * Description    : 独立看门狗初始化
  4. * EntryParameter : None
  5. * ReturnValue    : None
  6. **************************************************************************************/
  7. void IWDTInit(void)
  8. {
  9.     if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
  10.     {
  11.         RCC_ClearFlag();                                                        // Clear reset flags
  12.     }
  13.    
  14.     RCC_LSICmd(ENABLE);                                                         // 打开LSI
  15.     while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) ;                       // 等待直到LSI稳定     
  16.    
  17.     IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);                               // 关闭IWDG_PR和IWDG_RLR的写保护
  18.     IWDG_SetPrescaler(IWDG_Prescaler_64);                                       // 设置预分频系数
  19.     IWDG_SetReload(800);                                                        // 设置重装值为
  20.     IWDG_ReloadCounter();
  21.     IWDG_Enable();                                                              // 使能看门狗  
  22. }

  23. /**************************************************************************************
  24. * FunctionName   : WWDTInit()
  25. * Description    : 窗口看门狗初始化
  26. * EntryParameter : None
  27. * ReturnValue    : None
  28. **************************************************************************************/
  29. void WWDTInit(void)
  30. {
  31.     if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET)                           // Check if the system has resumed from WWDG reset
  32.     {
  33.         RCC_ClearFlag();                                                        // Clear reset flags
  34.     }
  35.    
  36.     RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);                        // Enable WWDG clock
  37.     WWDG_SetPrescaler(WWDG_Prescaler_8);                                        // WWDG clock counter = (PCLK1/4096)/8 = 244 Hz (~4 ms)
  38.     WWDG_SetWindowValue(65);                                                    // Set Window value to 65
  39.     WWDG_Enable(127);                                                           // Enable WWDG and set counter value to 127, WWDG timeout = ~4 ms * 64 = 262 ms
  40.    
  41.     WWDG_ClearFlag();                                                           // Clear EWI flag
  42.     WWDG_EnableIT();                                                            // Enable EW interrupt   
  43. }
复制代码
  1. extern void IWDTInit(void);                                                     // 初始化看门狗
  2. extern void WWDTInit(void);  
复制代码

收藏 评论8 发布时间:2015-3-2 13:47

举报

8个回答
caizhiwei 回答时间:2015-3-2 15:32:00
顶一个
kqh1120 回答时间:2015-3-2 15:57:06
一点介绍都没有么。。 1.png
左岸右岸 回答时间:2015-3-2 17:27:24
feel-376797 回答时间:2015-3-2 20:34:17
谢谢分享
拼命三郎 回答时间:2015-3-3 10:29:06
xxxx.png
拼命三郎 回答时间:2015-3-3 10:29:25
ddddd.png
caizhiwei 回答时间:2015-3-4 16:07:17

拼命三郎,谢过谢过
拼命三郎 回答时间:2015-3-4 16:25:40
xxxx.png

所属标签

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