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

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

[复制链接]
STMCU小助手 发布时间:2022-3-29 21:23
01. WWDG概述. t8 P/ [- v) E9 s: _7 p* a
stm32f4xx_wwdg.h和 stm32f4xx_wwdg.c文件中。) M; c9 W" R2 F, B! R* Q
/ o  s1 d# G0 e, W* y. F, @
02. 相关类型* A. D) m) n4 z7 ]. S, T- w+ y
WWDG_Prescaler- K1 |* A0 A: m  q  R% j1 V- B  S

9 T4 O1 G- g4 @
  1. /** @defgroup WWDG_Prescaler   ~# Y& }/ c/ F/ u' ]- f
  2.   * @{
    3 K1 x1 c+ {" q! L& @" Q- N
  3.   */
    $ ]% S9 ~: E; O- z( R) Z
  4. $ x$ [# W* P* H' K8 P. N. a3 o8 Z
  5. #define WWDG_Prescaler_1    ((uint32_t)0x00000000)
      W4 b/ _4 W3 m+ Z# s& W
  6. #define WWDG_Prescaler_2    ((uint32_t)0x00000080)
    5 x/ y  \/ h, p9 y9 ^" ?  V
  7. #define WWDG_Prescaler_4    ((uint32_t)0x00000100)
    7 b, n8 G* c% p- J
  8. #define WWDG_Prescaler_8    ((uint32_t)0x00000180); J' T% \' `' F( w3 X. i3 l
  9. #define IS_WWDG_PRESCALER(PRESCALER) (((PRESCALER) == WWDG_Prescaler_1) || \
    9 F8 g2 ]9 ]) D* R" B, I! b4 o7 x" J1 v
  10.                                       ((PRESCALER) == WWDG_Prescaler_2) || \# d& `+ l: N# _) w" q0 ^- Y
  11.                                       ((PRESCALER) == WWDG_Prescaler_4) || \+ r* Y, ?/ A/ _  D0 Z1 K( d
  12.                                       ((PRESCALER) == WWDG_Prescaler_8))
    : }& q9 N* e0 h& [4 ~2 R
  13. #define IS_WWDG_WINDOW_VALUE(VALUE) ((VALUE) <= 0x7F). G, X1 d5 ^+ X$ |/ p7 Y: [! o% b
  14. #define IS_WWDG_COUNTER(COUNTER) (((COUNTER) >= 0x40) && ((COUNTER) <= 0x7F))
复制代码
. B4 x/ f$ x7 i
中断处理函数& E0 B8 P" k- g. N* D
/ {* f6 L* G- i" q: i0 g
  1.   WWDG_IRQn                   = 0,      /*!< Window WatchDog Interrupt*/
复制代码

( W  c9 z6 D9 O" e4 d: H03. 相关函数

+ c! o% w0 l9 Z8 k4 D* G
  1. /*  Function used to set the WWDG configuration to the default reset state ****/  
    ( |0 f) D5 Z& i# ?  A# P9 L, z
  2. void WWDG_DeInit(void);
    # J! c& k9 [' D; b* n
  3. $ |7 G% a: k6 ^9 ?& [% [3 L6 n( D; x
  4. /* Prescaler, Refresh window and Counter configuration functions **************/! R( x9 K% Q6 K6 a7 N! J
  5. void WWDG_SetPrescaler(uint32_t WWDG_Prescaler);" I/ g4 H& c- H6 U. V/ q+ U
  6. void WWDG_SetWindowValue(uint8_t WindowValue);  O6 Q8 \2 |# K7 W6 w( J
  7. void WWDG_EnableIT(void);/ E9 W" q3 U+ B5 E# k% e
  8. void WWDG_SetCounter(uint8_t Counter);
    3 d# _' J" R( Y

  9. $ g- M1 ^* _; I3 {& n/ m) o9 {6 g
  10. /* WWDG activation function ***************************************************/5 ^! y) {% d' z: Y" w1 r
  11. void WWDG_Enable(uint8_t Counter);! g1 b" R8 Y) |; @# a
  12. . M. K+ q! d( F* L; w. ~
  13. /* Interrupts and flags management functions **********************************/
    ( c0 }  m: g( l" T: I7 F
  14. FlagStatus WWDG_GetFlagStatus(void);, B) |1 y& A# o- c
  15. void WWDG_ClearFlag(void);
复制代码
: M: y# b% S3 K# M
04. 结构体封装
+ M- W4 a" l5 E
  1. /** ; E$ U2 e( e1 Z' F, [
  2.   * @brief Window WATCHDOG5 V2 M- l/ V: J4 x
  3.   */
    % V  a& g! W- B7 `/ r
  4. ! r4 U/ m- g: ~  |/ O
  5. typedef struct
    4 n) N+ A9 g1 [) S. m; Z1 u
  6. {! V9 E: P3 Z+ k8 E+ d& T
  7.   __IO uint32_t CR;   /*!< WWDG Control register,       Address offset: 0x00 */, P+ ?( A1 k3 Y$ ]2 d3 n; Y" R5 ?
  8.   __IO uint32_t CFR;  /*!< WWDG Configuration register, Address offset: 0x04 */
    , c8 x8 J8 I* K% A1 t6 u: h
  9.   __IO uint32_t SR;   /*!< WWDG Status register,        Address offset: 0x08 */# t# \6 T, m. C
  10. } WWDG_TypeDef;
复制代码

. F8 W6 j  Q: Z8 L8 V% g( x+ H; @: Y6 W' n
- V* Q& F( g/ v( U
赞 收藏 评论0 发布时间:2022-3-29 21:23

举报

0个回答

所属标签

相似技术帖

官网相关资源

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