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

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

[复制链接]
STMCU小助手 发布时间:2022-4-1 15:18
01. WWDG概述3 e% k8 B5 F7 N
stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。: S% z* {' \5 u9 A) A/ d

8 d0 n$ p6 p# b2 |2 I& K02. 相关类型& b8 Q4 D, ~# o
WWDG_Prescaler% Y3 {! ~1 [$ H- ~
9 E  U/ H/ V3 _9 O- M' U+ M
  1. /** @defgroup WWDG_Prescaler 2 R. ]. u4 {: z( \* D" F& @
  2.   * @{3 @7 ]& C, B) Y& J: A% r
  3.   */, O+ z# \2 C% w2 a1 c6 f" I( s" Z# w5 {

  4. 2 v$ b) T0 [; s5 x- M
  5. #define WWDG_Prescaler_1    ((uint32_t)0x00000000)" G8 ~# O1 v+ }% d
  6. #define WWDG_Prescaler_2    ((uint32_t)0x00000080); @! [# \2 U3 U( q" \9 L
  7. #define WWDG_Prescaler_4    ((uint32_t)0x00000100)
    # o' _: g  u% s( W5 y& F3 D
  8. #define WWDG_Prescaler_8    ((uint32_t)0x00000180)# Q* i7 R% T- G; ^
  9. #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \
    ( Z! x% y% U9 t7 P6 K: n
  10.                                       ((PRESCALER) == WWDG_Prescaler_2) || \' A' x7 _) X; y9 Y
  11.                                       ((PRESCALER) == WWDG_Prescaler_4) || \
    6 \4 H, @! S5 f5 H  u8 A
  12.                                       ((PRESCALER) == WWDG_Prescaler_8))7 u- E, |% v) j2 j  ~8 H
  13. #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F)$ P: M/ q: |  n8 C6 ?; X
  14. #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F))
复制代码

- K) x. n' \  V3 C8 l+ N6 ~中断处理函数
6 R9 t, n$ F! V" T! _) b) m. V7 n6 F6 x: _* M8 O5 b: J
  1.   WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt*/
复制代码

+ \* q" R: z, I0 E9 v! S0 s03. 相关函数
- m' v3 ]# D' X& ~) x
  1. /*  Function used to set the WWDG configuration to the default reset state ****/  1 i* M: |1 z# c5 }2 @) I/ V
  2. void WWDG_DeInit(void);9 p3 p( x7 S3 {7 [- H# o( Z+ {6 c
  3. + }+ C# w' r# S' ?) ^7 ^6 x
  4. /* Prescaler, Refresh window and Counter configuration functions **************/
    6 V; R' Z5 y! `* R
  5. void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);
    ( Y( }! g, l2 P  W- I8 x( m5 J
  6. void WWDG_SetWindowValue(uint8_t WindowValue);
    ( w0 h* F# f1 j# ~) G8 H
  7. void WWDG_EnableIT(void);( k1 k( \2 K" }' h0 B
  8. void WWDG_SetCounter(uint8_t Counter);
    ! A* P9 q( ^1 X  ~0 T2 l) o0 C

  9. . X5 J8 o9 D+ w4 p. r$ \* h' I
  10. /* WWDG activation function ***************************************************/
    ; t* P6 |% c* v9 D8 T% q
  11. void WWDG_Enable(uint8_t Counter);$ I3 f7 w& v% X& d: M8 ^( x

  12. 8 ?$ L* R! T% \' G, l4 X9 n9 d
  13. /* Interrupts and flags management functions **********************************/
    * f' s. ^* E0 `( L; c# ?- c0 ]1 g& F
  14. FlagStatus WWDG_GetFlagStatus(void);" O9 a. R( M' I; ?1 e* x3 p8 ^
  15. void WWDG_ClearFlag(void);
复制代码

/ A* I. R+ |( p2 j% s! c4 v5 n1 G04. 结构体封装
* N) t( y7 X& C
  1. /**
    ( c# [8 |+ `* C! G9 F
  2.   * @brief Window WATCHDOG
    , z2 P, L% ]- ~9 V1 F. p1 k
  3.   */
    ( Q7 N6 e4 o! }/ ?. T

  4. 2 X( b) }6 j. z' \7 n" x
  5. typedef struct
    1 Q- P2 l; |0 E! e& X4 o
  6. {
    & ]/ b) Q, t: @2 s, h
  7.   __IO uint32_t CR;   /*!< WWDG Control register,       Address offset: 0x00 */2 z% W. Z! w! U. p
  8.   __IO uint32_t CFR;  /*!< WWDG Configuration register, Address offset: 0x04 */
    3 H# n2 K( a$ j( v3 q
  9.   __IO uint32_t SR;   /*!< WWDG Status register,        Address offset: 0x08 */
    # c8 y7 ~2 ]3 u. j) Y; x
  10. } WWDG_TypeDef;
复制代码
. F6 h5 r, y; X/ T9 ?3 P
& s0 T9 O7 Y2 f8 O5 o5 y, K
赞 收藏 评论0 发布时间:2022-4-1 15:18

举报

0个回答

所属标签

相似技术帖

官网相关资源

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