]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_M0_STM32F0518_IAR/Libraries/STM32F0xx_StdPeriph_Driver/inc/stm32f0xx_pwr.h
Start to re-arrange files to include FreeRTOS+ in main download.
[freertos] / Demo / CORTEX_M0_STM32F0518_IAR / Libraries / STM32F0xx_StdPeriph_Driver / inc / stm32f0xx_pwr.h
1 /**\r
2   ******************************************************************************\r
3   * @file    stm32f0xx_pwr.h\r
4   * @author  MCD Application Team\r
5   * @version V1.0.0RC1\r
6   * @date    27-January-2012\r
7   * @brief   This file contains all the functions prototypes for the PWR firmware \r
8   *          library.\r
9   ******************************************************************************\r
10   * @attention\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   * FOR MORE INFORMATION PLEASE READ CAREFULLY THE LICENSE AGREEMENT FILE\r
20   * LOCATED IN THE ROOT DIRECTORY OF THIS FIRMWARE PACKAGE.\r
21   *\r
22   * <h2><center>&copy; COPYRIGHT 2012 STMicroelectronics</center></h2>\r
23   ******************************************************************************\r
24   */\r
25 \r
26 /* Define to prevent recursive inclusion -------------------------------------*/\r
27 #ifndef __STM32F0XX_PWR_H\r
28 #define __STM32F0XX_PWR_H\r
29 \r
30 #ifdef __cplusplus\r
31  extern "C" {\r
32 #endif\r
33 \r
34 /* Includes ------------------------------------------------------------------*/\r
35 #include "stm32f0xx.h"\r
36 \r
37 /** @addtogroup STM32F0xx_StdPeriph_Driver\r
38   * @{\r
39   */\r
40 \r
41 /** @addtogroup PWR\r
42   * @{\r
43   */ \r
44 \r
45 /* Exported types ------------------------------------------------------------*/\r
46 \r
47 /* Exported constants --------------------------------------------------------*/\r
48 \r
49 /** @defgroup PWR_Exported_Constants\r
50   * @{\r
51   */ \r
52 \r
53 /** @defgroup PWR_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 \r
65 \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 PWR_WakeUp_Pins \r
75   * @{\r
76   */\r
77 \r
78 #define PWR_WakeUpPin_1                 PWR_CSR_EWUP1\r
79 #define PWR_WakeUpPin_2                 PWR_CSR_EWUP2\r
80 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WakeUpPin_1) || \\r
81                                 ((PIN) == PWR_WakeUpPin_2))\r
82 /**\r
83   * @}\r
84   */\r
85 \r
86  \r
87 /** @defgroup PWR_Regulator_state_is_Sleep_STOP_mode \r
88   * @{\r
89   */\r
90 \r
91 #define PWR_Regulator_ON                ((uint32_t)0x00000000)\r
92 #define PWR_Regulator_LowPower          PWR_CR_LPSDSR\r
93 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \\r
94                                      ((REGULATOR) == PWR_Regulator_LowPower))\r
95 /**\r
96   * @}\r
97   */\r
98 \r
99 /** @defgroup PWR_SLEEP_mode_entry \r
100   * @{\r
101   */\r
102 \r
103 #define PWR_SLEEPEntry_WFI              ((uint8_t)0x01)\r
104 #define PWR_SLEEPEntry_WFE              ((uint8_t)0x02)\r
105 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPEntry_WFI) || ((ENTRY) == PWR_SLEEPEntry_WFE))\r
106  \r
107 /**\r
108   * @}\r
109   */\r
110 \r
111 /** @defgroup PWR_STOP_mode_entry \r
112   * @{\r
113   */\r
114 \r
115 #define PWR_STOPEntry_WFI               ((uint8_t)0x01)\r
116 #define PWR_STOPEntry_WFE               ((uint8_t)0x02)\r
117 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))\r
118  \r
119 /**\r
120   * @}\r
121   */\r
122 \r
123 /** @defgroup PWR_Flag \r
124   * @{\r
125   */\r
126 \r
127 #define PWR_FLAG_WU                     PWR_CSR_WUF\r
128 #define PWR_FLAG_SB                     PWR_CSR_SBF\r
129 #define PWR_FLAG_PVDO                   PWR_CSR_PVDO\r
130 #define PWR_FLAG_VREFINTRDY             PWR_CSR_VREFINTRDYF\r
131 \r
132 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \\r
133                                ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY))\r
134 \r
135 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))\r
136 /**\r
137   * @}\r
138   */\r
139 \r
140 /**\r
141   * @}\r
142   */\r
143 \r
144 /* Exported macro ------------------------------------------------------------*/\r
145 /* Exported functions ------------------------------------------------------- */\r
146 \r
147 /* Function used to set the PWR configuration to the default reset state ******/\r
148 void PWR_DeInit(void);\r
149 \r
150 /* Backup Domain Access function **********************************************/\r
151 void PWR_BackupAccessCmd(FunctionalState NewState);\r
152 \r
153 /* PVD configuration functions ************************************************/\r
154 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);\r
155 void PWR_PVDCmd(FunctionalState NewState);\r
156 \r
157 /* WakeUp pins configuration functions ****************************************/\r
158 void PWR_WakeUpPinCmd(uint32_t PWR_WakeUpPin, FunctionalState NewState);\r
159 \r
160 /* Low Power modes configuration functions ************************************/\r
161 void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry);\r
162 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);\r
163 void PWR_EnterSTANDBYMode(void);\r
164 \r
165 /* Flags management functions *************************************************/\r
166 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);\r
167 void PWR_ClearFlag(uint32_t PWR_FLAG);\r
168 \r
169 #ifdef __cplusplus\r
170 }\r
171 #endif\r
172 \r
173 #endif /* __STM32F0XX_PWR_H */\r
174 \r
175 /**\r
176   * @}\r
177   */\r
178 \r
179 /**\r
180   * @}\r
181   */\r
182 \r
183 /******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/\r