DSO138_SourceCodes_v037.rar
[DSO138] / Libraries / STM32F10x_StdPeriph_Driver / inc / stm32f10x_pwr.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f10x_pwr.h\r
4   * @author  MCD Application Team\r
5   * @version V3.3.0\r
6   * @date    04/16/2010\r
7   * @brief   This file contains all the functions prototypes for the PWR firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @copy\r
11   *\r
12   * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
13   * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE\r
14   * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY\r
15   * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING\r
16   * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE\r
17   * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
18   *\r
19   * <h2><center>&copy; COPYRIGHT 2010 STMicroelectronics</center></h2>\r
20   */ \r
21 \r
22 /* Define to prevent recursive inclusion -------------------------------------*/\r
23 #ifndef __STM32F10x_PWR_H\r
24 #define __STM32F10x_PWR_H\r
25 \r
26 #ifdef __cplusplus\r
27  extern "C" {\r
28 #endif\r
29 \r
30 /* Includes ------------------------------------------------------------------*/\r
31 #include "stm32f10x.h"\r
32 \r
33 /** @addtogroup STM32F10x_StdPeriph_Driver\r
34   * @{\r
35   */\r
36 \r
37 /** @addtogroup PWR\r
38   * @{\r
39   */ \r
40 \r
41 /** @defgroup PWR_Exported_Types\r
42   * @{\r
43   */ \r
44 \r
45 /**\r
46   * @}\r
47   */ \r
48 \r
49 /** @defgroup PWR_Exported_Constants\r
50   * @{\r
51   */ \r
52 \r
53 /** @defgroup PVD_detection_level \r
54   * @{\r
55   */ \r
56 \r
57 #define PWR_PVDLevel_2V2          ((uint32_t)0x00000000)\r
58 #define PWR_PVDLevel_2V3          ((uint32_t)0x00000020)\r
59 #define PWR_PVDLevel_2V4          ((uint32_t)0x00000040)\r
60 #define PWR_PVDLevel_2V5          ((uint32_t)0x00000060)\r
61 #define PWR_PVDLevel_2V6          ((uint32_t)0x00000080)\r
62 #define PWR_PVDLevel_2V7          ((uint32_t)0x000000A0)\r
63 #define PWR_PVDLevel_2V8          ((uint32_t)0x000000C0)\r
64 #define PWR_PVDLevel_2V9          ((uint32_t)0x000000E0)\r
65 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_2V2) || ((LEVEL) == PWR_PVDLevel_2V3)|| \\r
66                                  ((LEVEL) == PWR_PVDLevel_2V4) || ((LEVEL) == PWR_PVDLevel_2V5)|| \\r
67                                  ((LEVEL) == PWR_PVDLevel_2V6) || ((LEVEL) == PWR_PVDLevel_2V7)|| \\r
68                                  ((LEVEL) == PWR_PVDLevel_2V8) || ((LEVEL) == PWR_PVDLevel_2V9))\r
69 /**\r
70   * @}\r
71   */\r
72 \r
73 /** @defgroup Regulator_state_is_STOP_mode \r
74   * @{\r
75   */\r
76 \r
77 #define PWR_Regulator_ON          ((uint32_t)0x00000000)\r
78 #define PWR_Regulator_LowPower    ((uint32_t)0x00000001)\r
79 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \\r
80                                      ((REGULATOR) == PWR_Regulator_LowPower))\r
81 /**\r
82   * @}\r
83   */\r
84 \r
85 /** @defgroup STOP_mode_entry \r
86   * @{\r
87   */\r
88 \r
89 #define PWR_STOPEntry_WFI         ((uint8_t)0x01)\r
90 #define PWR_STOPEntry_WFE         ((uint8_t)0x02)\r
91 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))\r
92  \r
93 /**\r
94   * @}\r
95   */\r
96 \r
97 /** @defgroup PWR_Flag \r
98   * @{\r
99   */\r
100 \r
101 #define PWR_FLAG_WU               ((uint32_t)0x00000001)\r
102 #define PWR_FLAG_SB               ((uint32_t)0x00000002)\r
103 #define PWR_FLAG_PVDO             ((uint32_t)0x00000004)\r
104 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \\r
105                                ((FLAG) == PWR_FLAG_PVDO))\r
106 \r
107 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))\r
108 /**\r
109   * @}\r
110   */\r
111 \r
112 /**\r
113   * @}\r
114   */\r
115 \r
116 /** @defgroup PWR_Exported_Macros\r
117   * @{\r
118   */\r
119 \r
120 /**\r
121   * @}\r
122   */\r
123 \r
124 /** @defgroup PWR_Exported_Functions\r
125   * @{\r
126   */\r
127 \r
128 void PWR_DeInit(void);\r
129 void PWR_BackupAccessCmd(FunctionalState NewState);\r
130 void PWR_PVDCmd(FunctionalState NewState);\r
131 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);\r
132 void PWR_WakeUpPinCmd(FunctionalState NewState);\r
133 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);\r
134 void PWR_EnterSTANDBYMode(void);\r
135 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);\r
136 void PWR_ClearFlag(uint32_t PWR_FLAG);\r
137 \r
138 #ifdef __cplusplus\r
139 }\r
140 #endif\r
141 \r
142 #endif /* __STM32F10x_PWR_H */\r
143 /**\r
144   * @}\r
145   */\r
146 \r
147 /**\r
148   * @}\r
149   */\r
150 \r
151 /**\r
152   * @}\r
153   */\r
154 \r
155 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r