]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_STM32L152_IAR/system_and_ST_code/STM32L1xx_StdPeriph_Driver/inc/stm32l1xx_pwr.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_STM32L152_IAR / system_and_ST_code / STM32L1xx_StdPeriph_Driver / inc / stm32l1xx_pwr.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32l1xx_pwr.h\r
4   * @author  MCD Application Team\r
5   * @version V1.0.0RC1\r
6   * @date    07/02/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 __STM32L1xx_PWR_H\r
24 #define __STM32L1xx_PWR_H\r
25 \r
26 #ifdef __cplusplus\r
27  extern "C" {\r
28 #endif\r
29 \r
30 /* Includes ------------------------------------------------------------------*/\r
31 #include "stm32l1xx.h"\r
32 \r
33 /** @addtogroup STM32L1xx_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_0          PWR_CR_PLS_LEV0\r
58 #define PWR_PVDLevel_1          PWR_CR_PLS_LEV1\r
59 #define PWR_PVDLevel_2          PWR_CR_PLS_LEV2\r
60 #define PWR_PVDLevel_3          PWR_CR_PLS_LEV3\r
61 #define PWR_PVDLevel_4          PWR_CR_PLS_LEV4\r
62 #define PWR_PVDLevel_5          PWR_CR_PLS_LEV5\r
63 #define PWR_PVDLevel_6          PWR_CR_PLS_LEV6\r
64 #define PWR_PVDLevel_7          PWR_CR_PLS_LEV7 /* External input analog voltage \r
65                                                (Compare internally to VREFINT) */\r
66 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \\r
67                                  ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \\r
68                                  ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \\r
69                                  ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))\r
70 /**\r
71   * @}\r
72   */\r
73 \r
74 /** @defgroup WakeUp_Pins \r
75   * @{\r
76   */\r
77 \r
78 #define PWR_WakeUpPin_1           ((uint32_t)0x00000000)\r
79 #define PWR_WakeUpPin_2           ((uint32_t)0x00000004)\r
80 #define PWR_WakeUpPin_3           ((uint32_t)0x00000008)\r
81 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WakeUpPin_1) || \\r
82                                 ((PIN) == PWR_WakeUpPin_2) || \\r
83                                 ((PIN) == PWR_WakeUpPin_3))\r
84 /**\r
85   * @}\r
86   */\r
87 \r
88   \r
89 /** @defgroup Voltage_Scaling_Ranges\r
90   * @{\r
91   */\r
92 \r
93 #define PWR_VoltageScaling_Range1       PWR_CR_VOS_0\r
94 #define PWR_VoltageScaling_Range2       PWR_CR_VOS_1\r
95 #define PWR_VoltageScaling_Range3       PWR_CR_VOS\r
96 \r
97 #define IS_PWR_VOLTAGE_SCALING_RANGE(RANGE) (((RANGE) == PWR_VoltageScaling_Range1) || \\r
98                                              ((RANGE) == PWR_VoltageScaling_Range2) || \\r
99                                              ((RANGE) == PWR_VoltageScaling_Range3))\r
100 /**\r
101   * @}\r
102   */    \r
103   \r
104 /** @defgroup Regulator_state_is_Sleep_STOP_mode \r
105   * @{\r
106   */\r
107 \r
108 #define PWR_Regulator_ON                ((uint32_t)0x00000000)\r
109 #define PWR_Regulator_LowPower          PWR_CR_LPSDSR\r
110 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \\r
111                                      ((REGULATOR) == PWR_Regulator_LowPower))\r
112 /**\r
113   * @}\r
114   */\r
115 \r
116 /** @defgroup SLEEP_mode_entry \r
117   * @{\r
118   */\r
119 \r
120 #define PWR_SLEEPEntry_WFI         ((uint8_t)0x01)\r
121 #define PWR_SLEEPEntry_WFE         ((uint8_t)0x02)\r
122 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPEntry_WFI) || ((ENTRY) == PWR_SLEEPEntry_WFE))\r
123  \r
124 /**\r
125   * @}\r
126   */\r
127   \r
128 /** @defgroup STOP_mode_entry \r
129   * @{\r
130   */\r
131 \r
132 #define PWR_STOPEntry_WFI         ((uint8_t)0x01)\r
133 #define PWR_STOPEntry_WFE         ((uint8_t)0x02)\r
134 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))\r
135  \r
136 /**\r
137   * @}\r
138   */\r
139 \r
140 /** @defgroup PWR_Flag \r
141   * @{\r
142   */\r
143 \r
144 #define PWR_FLAG_WU               PWR_CSR_WUF\r
145 #define PWR_FLAG_SB               PWR_CSR_SBF\r
146 #define PWR_FLAG_PVDO             PWR_CSR_PVDO\r
147 #define PWR_FLAG_VREFINTRDY       PWR_CSR_VREFINTRDYF\r
148 #define PWR_FLAG_VOS              PWR_CSR_VOSF\r
149 #define PWR_FLAG_REGLP            PWR_CSR_REGLPF\r
150 \r
151 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \\r
152                                ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY) || \\r
153                                ((FLAG) == PWR_FLAG_VOS) || ((FLAG) == PWR_FLAG_REGLP))\r
154 \r
155 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))\r
156 /**\r
157   * @}\r
158   */\r
159 \r
160 /**\r
161   * @}\r
162   */\r
163 \r
164 /** @defgroup PWR_Exported_Macros\r
165   * @{\r
166   */\r
167 \r
168 /**\r
169   * @}\r
170   */\r
171 \r
172 /** @defgroup PWR_Exported_Functions\r
173   * @{\r
174   */\r
175 \r
176 void PWR_DeInit(void);\r
177 void PWR_RTCAccessCmd(FunctionalState NewState);\r
178 void PWR_PVDCmd(FunctionalState NewState);\r
179 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);\r
180 void PWR_WakeUpPinCmd(uint32_t PWR_WakeUpPin, FunctionalState NewState);\r
181 void PWR_FastWakeUpCmd(FunctionalState NewState);\r
182 void PWR_UltraLowPowerCmd(FunctionalState NewState);\r
183 void PWR_VoltageScalingConfig(uint32_t PWR_VoltageScaling);\r
184 void PWR_EnterLowPowerRunMode(FunctionalState NewState);\r
185 void PWR_EnterSleepMode(uint32_t PWR_Regulator, uint8_t PWR_SLEEPEntry);\r
186 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);\r
187 void PWR_EnterSTANDBYMode(void);\r
188 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);\r
189 void PWR_ClearFlag(uint32_t PWR_FLAG);\r
190 \r
191 #ifdef __cplusplus\r
192 }\r
193 #endif\r
194 \r
195 #endif /* __STM32L1xx_PWR_H */\r
196 /**\r
197   * @}\r
198   */\r
199 \r
200 /**\r
201   * @}\r
202   */\r
203 \r
204 /**\r
205   * @}\r
206   */\r
207 \r
208 /******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/\r