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

STM32的看门狗使用

[复制链接]
caizhiwei 发布时间:2015-3-2 13:47
  1. /**************************************************************************************) F- B0 w* \5 C0 r; ]' G7 K
  2. * FunctionName   : IWDTInit(). t; r+ b) t. `! C# m
  3. * Description    : 独立看门狗初始化1 I- v, ^# `1 m# f& K  r
  4. * EntryParameter : None
    + o1 N& Q  g. i; C
  5. * ReturnValue    : None# r2 E0 _7 X, |& K4 X3 b
  6. **************************************************************************************/8 p) w# G  I/ V5 a- B
  7. void IWDTInit(void)" t1 ^  ]% X& X& m( F6 ?% z' W9 }
  8. {2 |- S, T9 m! T' l' Y
  9.     if (RCC_GetFlagStatus(RCC_FLAG_IWDGRST) != RESET)
    : q4 c( W- d! p  }0 T
  10.     {% y& x. K- u( ?" P& \6 R. Q
  11.         RCC_ClearFlag();                                                        // Clear reset flags
    ! \$ Q2 l0 G& \1 v2 |
  12.     } 6 N" q: u) X8 v! `
  13.     # @/ F0 P" e6 O. N( J0 P5 ^5 l
  14.     RCC_LSICmd(ENABLE);                                                         // 打开LSI  T6 F9 H5 T1 }* h  f) P
  15.     while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) ;                       // 等待直到LSI稳定     1 ?" A5 Q3 M5 a3 q
  16.     0 O' |  O: y2 T" m6 s# k' ?) y
  17.     IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);                               // 关闭IWDG_PR和IWDG_RLR的写保护
    ( C* ?; d0 V0 r) c& W1 B
  18.     IWDG_SetPrescaler(IWDG_Prescaler_64);                                       // 设置预分频系数  m9 V( o2 q, Z& {; c* j4 |
  19.     IWDG_SetReload(800);                                                        // 设置重装值为. ~" i0 M1 [8 @/ G3 u
  20.     IWDG_ReloadCounter();4 ^* T1 X) U- n$ @
  21.     IWDG_Enable();                                                              // 使能看门狗  3 \8 t' `# g. i
  22. }9 c2 i+ S% k# k/ y, f

  23. 2 R8 s4 X$ Q; X3 B0 U# K5 x. T+ J
  24. /**************************************************************************************+ e! |- G( p, j# u
  25. * FunctionName   : WWDTInit()
    ( a. E9 G4 U: |- ^
  26. * Description    : 窗口看门狗初始化
    & l# j; B8 s" h& ?  c  G$ d
  27. * EntryParameter : None( q( h; q3 H- L' O. h
  28. * ReturnValue    : None
    % {7 ?( B0 S# Z1 }2 M3 T% G
  29. **************************************************************************************/
    0 J6 K6 s! _( w3 Y; B
  30. void WWDTInit(void)
      S  [  n0 z5 k: L! a6 x
  31. {0 q% B7 j+ m, r
  32.     if (RCC_GetFlagStatus(RCC_FLAG_WWDGRST) != RESET)                           // Check if the system has resumed from WWDG reset
    1 ]/ V7 j) D1 @& h: r+ U2 D
  33.     {
    2 V- V4 h* h9 m9 h; j
  34.         RCC_ClearFlag();                                                        // Clear reset flags$ V! J( q/ ^. A9 y: _5 n4 D
  35.     }
    " p6 i9 L" V1 ~) i5 t* n$ }
  36.     3 L% `8 f8 H$ h
  37.     RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE);                        // Enable WWDG clock ' b* P  T# }) h, t) m# A
  38.     WWDG_SetPrescaler(WWDG_Prescaler_8);                                        // WWDG clock counter = (PCLK1/4096)/8 = 244 Hz (~4 ms)) z- B) z$ G$ l0 C& Z$ u5 N
  39.     WWDG_SetWindowValue(65);                                                    // Set Window value to 652 {  p+ \0 X5 b& y% U* r2 Q/ B2 u
  40.     WWDG_Enable(127);                                                           // Enable WWDG and set counter value to 127, WWDG timeout = ~4 ms * 64 = 262 ms
    9 m: w" q% Q5 [/ k6 m5 o
  41.    
    ( o7 P( q! L# C# R7 H
  42.     WWDG_ClearFlag();                                                           // Clear EWI flag
    / b4 M% [- w: q! t7 K
  43.     WWDG_EnableIT();                                                            // Enable EW interrupt     w$ l% L1 K+ Y6 J7 P. i+ m* U8 y
  44. }
复制代码
  1. extern void IWDTInit(void);                                                     // 初始化看门狗
    * F3 u$ D: D* f- c: l1 }
  2. extern void WWDTInit(void);  
复制代码

* n$ a. ^* |; S% x+ ]2 M! a* x
赞 收藏 评论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
7 l* u) |8 F5 z, u+ Q* D
拼命三郎,谢过谢过
拼命三郎 回答时间:2015-3-4 16:25:40
xxxx.png
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版