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

【经验分享】STM32 窗口看门狗相关类型和函数

[复制链接]
STMCU小助手 发布时间:2022-4-1 15:18
01. WWDG概述* U" z- W8 s3 _+ X2 @
stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。
( _! t  V! [5 r/ |3 Z: B/ M# W
5 x8 N  s$ h4 r. t' m( {02. 相关类型
' H0 R- a; q) m# b5 t4 }WWDG_Prescaler
4 a4 v4 Q; ^  o* L. l+ D3 j
2 w6 ], E: A) P  u4 }6 j0 K
  1. /** @defgroup WWDG_Prescaler ; W! l- H$ L0 |& U- s3 ~1 p
  2.   * @{) U+ K" p  z! [0 e
  3.   */7 W+ z! K4 W& `( o# U% _2 `
  4. + f+ w0 o$ V; f2 J/ t, M8 y2 l
  5. #define WWDG_Prescaler_1    ((uint32_t)0x00000000)% v8 j& A. q: B  }. k4 Z
  6. #define WWDG_Prescaler_2    ((uint32_t)0x00000080)5 g: Y6 W8 d: G5 G5 X) Y
  7. #define WWDG_Prescaler_4    ((uint32_t)0x00000100)# G4 N) [) q, B) a4 S
  8. #define WWDG_Prescaler_8    ((uint32_t)0x00000180)8 F, H3 y/ x7 G7 f$ n
  9. #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \: R7 q1 v2 {, Q5 _( F, v5 Z
  10.                                       ((PRESCALER) == WWDG_Prescaler_2) || \
    * z! d; V  B; E& Z- G) X! Y& {
  11.                                       ((PRESCALER) == WWDG_Prescaler_4) || \
    * p7 T5 Y) B" }
  12.                                       ((PRESCALER) == WWDG_Prescaler_8))
    6 w( ?' L2 G, M2 a) `
  13. #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F)' \( b0 r' n# S- C2 p
  14. #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F))
复制代码

: p! }. b+ Y' m6 g7 P9 I中断处理函数1 O  R/ M4 k. s% S: ^/ V

: Y' u* b+ d+ I% c0 d' L
  1.   WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt*/
复制代码
9 {6 l; {6 h' g$ b! E2 F2 }! F! ?
03. 相关函数4 Q; {; j- A* X2 F9 p! a5 F
  1. /*  Function used to set the WWDG configuration to the default reset state ****/  
    2 W' v# w2 M! Y3 x1 b4 q
  2. void WWDG_DeInit(void);6 n8 y; [$ e/ n% P7 {4 i! F
  3. , t8 B; x  G7 R) d* F
  4. /* Prescaler, Refresh window and Counter configuration functions **************/
    # g3 p; B% G, N) {4 ^8 ]8 X% ?
  5. void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
    ' h' l  a6 k' }$ V
  6. void WWDG_SetWindowValue(uint8_t WindowValue);
    1 C; L# C1 W1 M! ~. M. \1 c
  7. void WWDG_EnableIT(void);
    - Q1 j9 Q5 |; X
  8. void WWDG_SetCounter(uint8_t Counter);4 [4 ]$ T6 u& B, o4 }; ]$ G

  9. ! J9 i# O0 k4 E+ Q/ U, ]# k+ @
  10. /* WWDG activation function ***************************************************/
    6 {( S1 X' Y! N4 l; _
  11. void WWDG_Enable(uint8_t Counter);
    1 P; k1 @! D; Z! E' D

  12. 2 ~. m: t( i$ W! e6 s
  13. /* Interrupts and flags management functions **********************************/
    0 }+ h2 h9 P, C5 ^
  14. FlagStatus WWDG_GetFlagStatus(void);
    ; V+ Q4 K, E/ ?* D( B. l$ a% }
  15. void WWDG_ClearFlag(void);
复制代码

% \6 n  o: H) X8 M04. 结构体封装5 ?  W' j. F( J( Z  A" D; D
  1. /**
    ( t: y5 q; I3 _2 G: W& h, B
  2.   * @brief Window WATCHDOG
    $ y$ f& e  v7 J0 d
  3.   */7 R1 `+ f9 x4 o% Y
  4. 3 ^$ M" \8 H! I4 [# G# x
  5. typedef struct
    1 B) _' {6 U9 Y( L
  6. {, G0 H. L, u( ^! x) \3 x0 o
  7.   __IO uint32_t CR;   /*!< WWDG Control register,       Address offset: 0x00 */; m/ t4 h7 W; x! r
  8.   __IO uint32_t CFR;  /*!< WWDG Configuration register, Address offset: 0x04 */1 j) K! O  m8 [! m- T: Q
  9.   __IO uint32_t SR;   /*!< WWDG Status register,        Address offset: 0x08 */) l, @" r9 d5 F6 h/ Z* j3 n
  10. } WWDG_TypeDef;
复制代码

" k* I& o& M3 b- t# n. f/ U( x4 h; A% F
收藏 评论0 发布时间:2022-4-1 15:18

举报

0个回答

所属标签

相似分享

官网相关资源

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