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

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

[复制链接]
STMCU小助手 发布时间:2022-3-29 21:23
01. WWDG概述
- f- ?, N* i8 k; e" H7 w' G" O. ^stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。
1 L3 K3 I% n9 m0 {2 p4 c8 {/ ]  y' x' k$ M( U
02. 相关类型
: }0 f( z0 }7 a7 V' F) |WWDG_Prescaler
% p) h! f, z0 z$ ~. c" a2 f! N' ?* L7 ^* b
  1. /** @defgroup WWDG_Prescaler 6 T& r! y2 Z2 B1 b! _
  2.   * @{  m/ N4 K5 D. O& `
  3.   */
    + w+ \  h% t# q' ^9 `( v1 v
  4. 1 s# N1 P0 _9 W% N+ R
  5. #define WWDG_Prescaler_1    ((uint32_t)0x00000000)3 p9 m% o# E  d& u( y
  6. #define WWDG_Prescaler_2    ((uint32_t)0x00000080): X0 }8 b  L6 t: M$ [# E
  7. #define WWDG_Prescaler_4    ((uint32_t)0x00000100)
    0 t% }' a5 ^# b; J
  8. #define WWDG_Prescaler_8    ((uint32_t)0x00000180)" ^/ a& Z- K9 z/ c  g- O
  9. #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \
    1 X+ R& c5 ?. {6 A/ G/ Z1 g8 B
  10.                                       ((PRESCALER) == WWDG_Prescaler_2) || \4 G3 i8 S- C" n. H! T( Z
  11.                                       ((PRESCALER) == WWDG_Prescaler_4) || \
    : P/ t$ U' _0 z$ s8 D" d; c+ M+ o
  12.                                       ((PRESCALER) == WWDG_Prescaler_8))
    7 w( a; J( l  @, J8 E5 P, x
  13. #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F)
      F( |  J5 M# l) T
  14. #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F))
复制代码
  i8 g; q, F+ F" B. s: j
中断处理函数
/ o- M  I: T( Q" X$ d, J1 m& q; f( U7 d" R
  1.   WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt*/
复制代码
4 p7 P: w7 o( }. @
03. 相关函数
9 P' K/ ?, O7 K# _' m3 O
  1. /*  Function used to set the WWDG configuration to the default reset state ****/  / q, s  c. ?0 Q8 i
  2. void WWDG_DeInit(void);& N; D+ y$ O* u
  3. $ r& c, X' }7 A! N
  4. /* Prescaler, Refresh window and Counter configuration functions **************/5 s1 R8 @2 P3 z6 j/ M
  5. void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
    ; c1 g, K, }0 n6 T: |
  6. void WWDG_SetWindowValue(uint8_t WindowValue);
    6 X+ C! i: o/ ?; W# z6 p
  7. void WWDG_EnableIT(void);
    4 [' r" c% }2 N( N6 _  Y/ I' h
  8. void WWDG_SetCounter(uint8_t Counter);: J$ Y, q( f7 D% ~6 E% H/ w: p: B
  9. 5 A5 b; K' i3 u8 Y  ?
  10. /* WWDG activation function ***************************************************/5 r$ }9 n1 ?( j" Z* l# ]) H
  11. void WWDG_Enable(uint8_t Counter);
    - _/ @. W) F# H. e' a

  12. 5 M, T. N* W" |5 j; I  o
  13. /* Interrupts and flags management functions **********************************/2 u8 ?$ b# _4 w" m- J5 K
  14. FlagStatus WWDG_GetFlagStatus(void);# j- D& Y3 F  n) L6 }6 Q
  15. void WWDG_ClearFlag(void);
复制代码
; z/ T  Z7 A% t8 Z* O% x
04. 结构体封装1 d+ a9 F  s6 t) w" v5 W9 r. j
  1. /**
    ) x# h  {& F7 j; B$ e
  2.   * @brief Window WATCHDOG
    3 H" q# f. Y) D
  3.   */
      s8 V6 O4 _- l9 k

  4. 9 n5 q: z. [' {, s% t4 Q
  5. typedef struct
    5 D8 S5 c+ C+ I' ~) ^9 Y
  6. {( Y& o% ]. w1 ~5 G% J8 c6 {
  7.   __IO uint32_t CR;   /*!< WWDG Control register,       Address offset: 0x00 */
    ( J' S) m$ e1 h& d
  8.   __IO uint32_t CFR;  /*!< WWDG Configuration register, Address offset: 0x04 */) }* C4 h5 G6 I. T& e9 k! K- B
  9.   __IO uint32_t SR;   /*!< WWDG Status register,        Address offset: 0x08 */
    , T% F. x4 }1 I+ E0 T
  10. } WWDG_TypeDef;
复制代码
* Q& j+ H1 K6 x  `

" s6 n9 `9 [7 T1 ~' {; c" G5 Z" ]
赞 收藏 评论0 发布时间:2022-3-29 21:23

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版