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

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

[复制链接]
STMCU小助手 发布时间:2022-4-1 15:18
01. WWDG概述
8 @) S: K; P( {! ostm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。' k% L: T, z; x8 {2 _

& U2 T1 d: g, A4 s+ H; C! `02. 相关类型  Z1 B# w/ K, b6 F# K
WWDG_Prescaler7 ?' [2 \  U7 e; d! [

- H( |5 p3 s0 u# r, g0 z
  1. /** @defgroup WWDG_Prescaler 9 p" |% u3 _  s9 E5 I% Q6 g
  2.   * @{( T6 q( d9 s/ X
  3.   */
    * t6 K3 R7 B# R- m$ x- c
  4. 1 E+ H: K7 d( t
  5. #define WWDG_Prescaler_1    ((uint32_t)0x00000000)
    ! b$ P0 M. Y; e' d2 k2 q
  6. #define WWDG_Prescaler_2    ((uint32_t)0x00000080)9 r" w5 V4 c; P# z# U
  7. #define WWDG_Prescaler_4    ((uint32_t)0x00000100)4 ~- N; j! P& M9 T3 S+ T; W
  8. #define WWDG_Prescaler_8    ((uint32_t)0x00000180)
    8 f/ I0 i$ b8 u" U/ R1 O+ G5 X, N/ p
  9. #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \
    + y( [) K2 l/ b( i* W& _) Y0 [: {
  10.                                       ((PRESCALER) == WWDG_Prescaler_2) || \
    3 U/ W' K6 k% W, D$ d8 i
  11.                                       ((PRESCALER) == WWDG_Prescaler_4) || \
    ) H; I9 J& v0 k9 M4 N
  12.                                       ((PRESCALER) == WWDG_Prescaler_8))! M) U. D7 |; @4 H
  13. #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F)9 H. s, }4 s; l& D3 P+ j
  14. #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F))
复制代码
9 ?1 a9 E1 }3 x& ^( U$ v
中断处理函数
! u4 N% i  M6 H+ V- I3 P
" l  L6 m5 p  S- e4 y% k! f, r
  1.   WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt*/
复制代码

0 @2 z! q9 e4 }- ^' M# q; c5 T7 K; B03. 相关函数
3 V5 v+ T. Z. n/ U+ U* w, M* }
  1. /*  Function used to set the WWDG configuration to the default reset state ****/  
    * L/ H3 [# s# K+ k, d( C& f) H% r
  2. void WWDG_DeInit(void);5 o! w% R8 s$ v3 Y) p5 j

  3. 6 `9 D0 s3 X  [3 w1 Z# T
  4. /* Prescaler, Refresh window and Counter configuration functions **************/
    2 ^5 v" I+ r" Y/ [
  5. void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
    / F" p9 ]2 T8 j+ @$ {# R% |) I
  6. void WWDG_SetWindowValue(uint8_t WindowValue);
    ! _8 R. q0 C& _, w
  7. void WWDG_EnableIT(void);; \* J6 [4 C; j
  8. void WWDG_SetCounter(uint8_t Counter);
    7 A$ H' O! O, Q! U

  9. ( T9 p8 O( \5 n0 Q* ]/ G
  10. /* WWDG activation function ***************************************************/3 y6 o3 i. U' A' ^6 S3 v  e7 y
  11. void WWDG_Enable(uint8_t Counter);
    * ^/ Z6 j* T. O3 }3 k2 G

  12. % i; `- i2 O9 d5 K1 O2 |# b$ Z
  13. /* Interrupts and flags management functions **********************************/& e5 w4 d& ?3 y5 v+ t, d
  14. FlagStatus WWDG_GetFlagStatus(void);: T- Y" t8 ~+ f9 H
  15. void WWDG_ClearFlag(void);
复制代码

7 A; y& D7 {) c& A) T6 P04. 结构体封装) p3 P# m8 H# a9 u4 @8 F! T/ K4 S
  1. /**
    2 o" v! t- p8 v5 p) L, {/ b. e
  2.   * @brief Window WATCHDOG& x5 R& \3 H: P2 Q0 w  @5 f
  3.   */
    3 M$ G3 _9 o* a$ [

  4.   n& U0 {8 F/ {. h: @- @' {
  5. typedef struct
    1 Y, ~* }7 a" e" ^/ Y2 J
  6. {
    3 K3 M: a$ ]. ?* c$ U: L
  7.   __IO uint32_t CR;   /*!< WWDG Control register,       Address offset: 0x00 */
    ! \2 i8 J2 S+ p- g3 q& P, p
  8.   __IO uint32_t CFR;  /*!< WWDG Configuration register, Address offset: 0x04 */# r3 U+ _! o7 W/ M, ^
  9.   __IO uint32_t SR;   /*!< WWDG Status register,        Address offset: 0x08 */0 _) M. N( |  k6 D3 b+ X) j/ A
  10. } WWDG_TypeDef;
复制代码
  \, R+ G( \+ |3 n6 P, j- {6 Y
/ C, R# Q; `4 K5 u9 F8 T. p, a
收藏 评论0 发布时间:2022-4-1 15:18

举报

0个回答

所属标签

相似分享

官网相关资源

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