mbed SDK library sources

Fork of mbed-src by mbed official

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Thu Jan 30 12:15:05 2014 +0000
Revision:
80:66393a7b209d
Parent:
76:aeb1df146756
Synchronized with git revision dba523f83fe09b7fce11fc1299dd1216e9776359

Full URL: https://github.com/mbedmicro/mbed/commit/dba523f83fe09b7fce11fc1299dd1216e9776359/

Update of I2C, SPI, SLEEP for NUCLEO_F103RB and L152RE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 76:aeb1df146756 1 /**
mbed_official 76:aeb1df146756 2 ******************************************************************************
mbed_official 76:aeb1df146756 3 * @file stm32l1xx_pwr.h
mbed_official 76:aeb1df146756 4 * @author MCD Application Team
mbed_official 80:66393a7b209d 5 * @version V1.3.0
mbed_official 80:66393a7b209d 6 * @date 31-January-2014
mbed_official 76:aeb1df146756 7 * @brief This file contains all the functions prototypes for the PWR firmware
mbed_official 76:aeb1df146756 8 * library.
mbed_official 76:aeb1df146756 9 ******************************************************************************
mbed_official 76:aeb1df146756 10 * @attention
mbed_official 76:aeb1df146756 11 *
mbed_official 80:66393a7b209d 12 * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
mbed_official 76:aeb1df146756 13 *
mbed_official 76:aeb1df146756 14 * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
mbed_official 76:aeb1df146756 15 * You may not use this file except in compliance with the License.
mbed_official 76:aeb1df146756 16 * You may obtain a copy of the License at:
mbed_official 76:aeb1df146756 17 *
mbed_official 76:aeb1df146756 18 * http://www.st.com/software_license_agreement_liberty_v2
mbed_official 76:aeb1df146756 19 *
mbed_official 76:aeb1df146756 20 * Unless required by applicable law or agreed to in writing, software
mbed_official 76:aeb1df146756 21 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 76:aeb1df146756 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 76:aeb1df146756 23 * See the License for the specific language governing permissions and
mbed_official 76:aeb1df146756 24 * limitations under the License.
mbed_official 76:aeb1df146756 25 *
mbed_official 76:aeb1df146756 26 ******************************************************************************
mbed_official 76:aeb1df146756 27 */
mbed_official 76:aeb1df146756 28
mbed_official 76:aeb1df146756 29 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 76:aeb1df146756 30 #ifndef __STM32L1xx_PWR_H
mbed_official 76:aeb1df146756 31 #define __STM32L1xx_PWR_H
mbed_official 76:aeb1df146756 32
mbed_official 76:aeb1df146756 33 #ifdef __cplusplus
mbed_official 76:aeb1df146756 34 extern "C" {
mbed_official 76:aeb1df146756 35 #endif
mbed_official 76:aeb1df146756 36
mbed_official 76:aeb1df146756 37 /* Includes ------------------------------------------------------------------*/
mbed_official 76:aeb1df146756 38 #include "stm32l1xx.h"
mbed_official 76:aeb1df146756 39
mbed_official 76:aeb1df146756 40 /** @addtogroup STM32L1xx_StdPeriph_Driver
mbed_official 76:aeb1df146756 41 * @{
mbed_official 76:aeb1df146756 42 */
mbed_official 76:aeb1df146756 43
mbed_official 76:aeb1df146756 44 /** @addtogroup PWR
mbed_official 76:aeb1df146756 45 * @{
mbed_official 76:aeb1df146756 46 */
mbed_official 76:aeb1df146756 47
mbed_official 76:aeb1df146756 48 /* Exported types ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 49 /* Exported constants --------------------------------------------------------*/
mbed_official 76:aeb1df146756 50
mbed_official 76:aeb1df146756 51 /** @defgroup PWR_Exported_Constants
mbed_official 76:aeb1df146756 52 * @{
mbed_official 76:aeb1df146756 53 */
mbed_official 76:aeb1df146756 54
mbed_official 76:aeb1df146756 55 /** @defgroup PWR_PVD_detection_level
mbed_official 76:aeb1df146756 56 * @{
mbed_official 76:aeb1df146756 57 */
mbed_official 76:aeb1df146756 58
mbed_official 76:aeb1df146756 59 #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0
mbed_official 76:aeb1df146756 60 #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1
mbed_official 76:aeb1df146756 61 #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2
mbed_official 76:aeb1df146756 62 #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3
mbed_official 76:aeb1df146756 63 #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4
mbed_official 76:aeb1df146756 64 #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5
mbed_official 76:aeb1df146756 65 #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6
mbed_official 76:aeb1df146756 66 #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7 /* External input analog voltage
mbed_official 76:aeb1df146756 67 (Compare internally to VREFINT) */
mbed_official 76:aeb1df146756 68 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \
mbed_official 76:aeb1df146756 69 ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \
mbed_official 76:aeb1df146756 70 ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \
mbed_official 76:aeb1df146756 71 ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))
mbed_official 76:aeb1df146756 72 /**
mbed_official 76:aeb1df146756 73 * @}
mbed_official 76:aeb1df146756 74 */
mbed_official 76:aeb1df146756 75
mbed_official 76:aeb1df146756 76 /** @defgroup PWR_WakeUp_Pins
mbed_official 76:aeb1df146756 77 * @{
mbed_official 76:aeb1df146756 78 */
mbed_official 76:aeb1df146756 79
mbed_official 76:aeb1df146756 80 #define PWR_WakeUpPin_1 ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 81 #define PWR_WakeUpPin_2 ((uint32_t)0x00000004)
mbed_official 76:aeb1df146756 82 #define PWR_WakeUpPin_3 ((uint32_t)0x00000008)
mbed_official 76:aeb1df146756 83 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WakeUpPin_1) || \
mbed_official 76:aeb1df146756 84 ((PIN) == PWR_WakeUpPin_2) || \
mbed_official 76:aeb1df146756 85 ((PIN) == PWR_WakeUpPin_3))
mbed_official 76:aeb1df146756 86 /**
mbed_official 76:aeb1df146756 87 * @}
mbed_official 76:aeb1df146756 88 */
mbed_official 76:aeb1df146756 89
mbed_official 76:aeb1df146756 90
mbed_official 76:aeb1df146756 91 /** @defgroup PWR_Voltage_Scaling_Ranges
mbed_official 76:aeb1df146756 92 * @{
mbed_official 76:aeb1df146756 93 */
mbed_official 76:aeb1df146756 94
mbed_official 76:aeb1df146756 95 #define PWR_VoltageScaling_Range1 PWR_CR_VOS_0
mbed_official 76:aeb1df146756 96 #define PWR_VoltageScaling_Range2 PWR_CR_VOS_1
mbed_official 76:aeb1df146756 97 #define PWR_VoltageScaling_Range3 PWR_CR_VOS
mbed_official 76:aeb1df146756 98
mbed_official 76:aeb1df146756 99 #define IS_PWR_VOLTAGE_SCALING_RANGE(RANGE) (((RANGE) == PWR_VoltageScaling_Range1) || \
mbed_official 76:aeb1df146756 100 ((RANGE) == PWR_VoltageScaling_Range2) || \
mbed_official 76:aeb1df146756 101 ((RANGE) == PWR_VoltageScaling_Range3))
mbed_official 76:aeb1df146756 102 /**
mbed_official 76:aeb1df146756 103 * @}
mbed_official 76:aeb1df146756 104 */
mbed_official 76:aeb1df146756 105
mbed_official 76:aeb1df146756 106 /** @defgroup PWR_Regulator_state_is_Sleep_STOP_mode
mbed_official 76:aeb1df146756 107 * @{
mbed_official 76:aeb1df146756 108 */
mbed_official 76:aeb1df146756 109
mbed_official 76:aeb1df146756 110 #define PWR_Regulator_ON ((uint32_t)0x00000000)
mbed_official 76:aeb1df146756 111 #define PWR_Regulator_LowPower PWR_CR_LPSDSR
mbed_official 76:aeb1df146756 112 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
mbed_official 76:aeb1df146756 113 ((REGULATOR) == PWR_Regulator_LowPower))
mbed_official 76:aeb1df146756 114 /**
mbed_official 76:aeb1df146756 115 * @}
mbed_official 76:aeb1df146756 116 */
mbed_official 76:aeb1df146756 117
mbed_official 76:aeb1df146756 118 /** @defgroup PWR_SLEEP_mode_entry
mbed_official 76:aeb1df146756 119 * @{
mbed_official 76:aeb1df146756 120 */
mbed_official 76:aeb1df146756 121
mbed_official 76:aeb1df146756 122 #define PWR_SLEEPEntry_WFI ((uint8_t)0x01)
mbed_official 76:aeb1df146756 123 #define PWR_SLEEPEntry_WFE ((uint8_t)0x02)
mbed_official 76:aeb1df146756 124 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPEntry_WFI) || ((ENTRY) == PWR_SLEEPEntry_WFE))
mbed_official 76:aeb1df146756 125
mbed_official 76:aeb1df146756 126 /**
mbed_official 76:aeb1df146756 127 * @}
mbed_official 76:aeb1df146756 128 */
mbed_official 76:aeb1df146756 129
mbed_official 76:aeb1df146756 130 /** @defgroup PWR_STOP_mode_entry
mbed_official 76:aeb1df146756 131 * @{
mbed_official 76:aeb1df146756 132 */
mbed_official 76:aeb1df146756 133
mbed_official 76:aeb1df146756 134 #define PWR_STOPEntry_WFI ((uint8_t)0x01)
mbed_official 76:aeb1df146756 135 #define PWR_STOPEntry_WFE ((uint8_t)0x02)
mbed_official 76:aeb1df146756 136 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
mbed_official 76:aeb1df146756 137
mbed_official 76:aeb1df146756 138 /**
mbed_official 76:aeb1df146756 139 * @}
mbed_official 76:aeb1df146756 140 */
mbed_official 76:aeb1df146756 141
mbed_official 76:aeb1df146756 142 /** @defgroup PWR_Flag
mbed_official 76:aeb1df146756 143 * @{
mbed_official 76:aeb1df146756 144 */
mbed_official 76:aeb1df146756 145
mbed_official 76:aeb1df146756 146 #define PWR_FLAG_WU PWR_CSR_WUF
mbed_official 76:aeb1df146756 147 #define PWR_FLAG_SB PWR_CSR_SBF
mbed_official 76:aeb1df146756 148 #define PWR_FLAG_PVDO PWR_CSR_PVDO
mbed_official 76:aeb1df146756 149 #define PWR_FLAG_VREFINTRDY PWR_CSR_VREFINTRDYF
mbed_official 76:aeb1df146756 150 #define PWR_FLAG_VOS PWR_CSR_VOSF
mbed_official 76:aeb1df146756 151 #define PWR_FLAG_REGLP PWR_CSR_REGLPF
mbed_official 76:aeb1df146756 152
mbed_official 76:aeb1df146756 153 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
mbed_official 76:aeb1df146756 154 ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY) || \
mbed_official 76:aeb1df146756 155 ((FLAG) == PWR_FLAG_VOS) || ((FLAG) == PWR_FLAG_REGLP))
mbed_official 76:aeb1df146756 156
mbed_official 76:aeb1df146756 157 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
mbed_official 76:aeb1df146756 158 /**
mbed_official 76:aeb1df146756 159 * @}
mbed_official 76:aeb1df146756 160 */
mbed_official 76:aeb1df146756 161
mbed_official 76:aeb1df146756 162 /**
mbed_official 76:aeb1df146756 163 * @}
mbed_official 76:aeb1df146756 164 */
mbed_official 76:aeb1df146756 165
mbed_official 76:aeb1df146756 166 /* Exported macro ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 167 /* Exported functions ------------------------------------------------------- */
mbed_official 76:aeb1df146756 168
mbed_official 76:aeb1df146756 169 /* Function used to set the PWR configuration to the default reset state ******/
mbed_official 76:aeb1df146756 170 void PWR_DeInit(void);
mbed_official 76:aeb1df146756 171
mbed_official 76:aeb1df146756 172 /* RTC Domain Access function *************************************************/
mbed_official 76:aeb1df146756 173 void PWR_RTCAccessCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 174
mbed_official 76:aeb1df146756 175 /* PVD configuration functions ************************************************/
mbed_official 76:aeb1df146756 176 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
mbed_official 76:aeb1df146756 177 void PWR_PVDCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 178
mbed_official 76:aeb1df146756 179 /* WakeUp pins configuration functions ****************************************/
mbed_official 76:aeb1df146756 180 void PWR_WakeUpPinCmd(uint32_t PWR_WakeUpPin, FunctionalState NewState);
mbed_official 76:aeb1df146756 181
mbed_official 76:aeb1df146756 182 /* Ultra Low Power mode configuration functions *******************************/
mbed_official 76:aeb1df146756 183 void PWR_FastWakeUpCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 184 void PWR_UltraLowPowerCmd(FunctionalState NewState);
mbed_official 76:aeb1df146756 185
mbed_official 76:aeb1df146756 186 /* Voltage Scaling configuration functions ************************************/
mbed_official 76:aeb1df146756 187 void PWR_VoltageScalingConfig(uint32_t PWR_VoltageScaling);
mbed_official 76:aeb1df146756 188
mbed_official 76:aeb1df146756 189 /* Low Power modes configuration functions ************************************/
mbed_official 76:aeb1df146756 190 void PWR_EnterLowPowerRunMode(FunctionalState NewState);
mbed_official 76:aeb1df146756 191 void PWR_EnterSleepMode(uint32_t PWR_Regulator, uint8_t PWR_SLEEPEntry);
mbed_official 76:aeb1df146756 192 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
mbed_official 76:aeb1df146756 193 void PWR_EnterSTANDBYMode(void);
mbed_official 76:aeb1df146756 194
mbed_official 76:aeb1df146756 195 /* Flags management functions *************************************************/
mbed_official 76:aeb1df146756 196 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
mbed_official 76:aeb1df146756 197 void PWR_ClearFlag(uint32_t PWR_FLAG);
mbed_official 76:aeb1df146756 198
mbed_official 76:aeb1df146756 199 #ifdef __cplusplus
mbed_official 76:aeb1df146756 200 }
mbed_official 76:aeb1df146756 201 #endif
mbed_official 76:aeb1df146756 202
mbed_official 76:aeb1df146756 203 #endif /* __STM32L1xx_PWR_H */
mbed_official 76:aeb1df146756 204
mbed_official 76:aeb1df146756 205 /**
mbed_official 76:aeb1df146756 206 * @}
mbed_official 76:aeb1df146756 207 */
mbed_official 76:aeb1df146756 208
mbed_official 76:aeb1df146756 209 /**
mbed_official 76:aeb1df146756 210 * @}
mbed_official 76:aeb1df146756 211 */
mbed_official 76:aeb1df146756 212
mbed_official 76:aeb1df146756 213 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/