mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

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:
Mon Sep 28 14:00:11 2015 +0100
Revision:
632:7687fb9c4f91
Parent:
385:be64abf45658
Child:
634:ac7d6880524d
Synchronized with git revision f7ce4ed029cc611121464252ff28d5e8beb895b0

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

NUCLEO_F303K8 - add support of the STM32F303K8

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 330:c80ac197fa6a 1 /**
mbed_official 330:c80ac197fa6a 2 ******************************************************************************
mbed_official 330:c80ac197fa6a 3 * @file stm32f3xx_hal_pwr.h
mbed_official 330:c80ac197fa6a 4 * @author MCD Application Team
mbed_official 632:7687fb9c4f91 5 * @version V1.1.1
mbed_official 632:7687fb9c4f91 6 * @date 19-June-2015
mbed_official 330:c80ac197fa6a 7 * @brief Header file of PWR HAL module.
mbed_official 330:c80ac197fa6a 8 ******************************************************************************
mbed_official 330:c80ac197fa6a 9 * @attention
mbed_official 330:c80ac197fa6a 10 *
mbed_official 632:7687fb9c4f91 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 330:c80ac197fa6a 12 *
mbed_official 330:c80ac197fa6a 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 330:c80ac197fa6a 14 * are permitted provided that the following conditions are met:
mbed_official 330:c80ac197fa6a 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 330:c80ac197fa6a 16 * this list of conditions and the following disclaimer.
mbed_official 330:c80ac197fa6a 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 330:c80ac197fa6a 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 330:c80ac197fa6a 19 * and/or other materials provided with the distribution.
mbed_official 330:c80ac197fa6a 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 330:c80ac197fa6a 21 * may be used to endorse or promote products derived from this software
mbed_official 330:c80ac197fa6a 22 * without specific prior written permission.
mbed_official 330:c80ac197fa6a 23 *
mbed_official 330:c80ac197fa6a 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 330:c80ac197fa6a 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 330:c80ac197fa6a 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 330:c80ac197fa6a 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 330:c80ac197fa6a 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 330:c80ac197fa6a 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 330:c80ac197fa6a 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 330:c80ac197fa6a 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 330:c80ac197fa6a 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 330:c80ac197fa6a 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 330:c80ac197fa6a 34 *
mbed_official 330:c80ac197fa6a 35 ******************************************************************************
mbed_official 330:c80ac197fa6a 36 */
mbed_official 330:c80ac197fa6a 37
mbed_official 330:c80ac197fa6a 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 330:c80ac197fa6a 39 #ifndef __STM32F3xx_HAL_PWR_H
mbed_official 330:c80ac197fa6a 40 #define __STM32F3xx_HAL_PWR_H
mbed_official 330:c80ac197fa6a 41
mbed_official 330:c80ac197fa6a 42 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 43 extern "C" {
mbed_official 330:c80ac197fa6a 44 #endif
mbed_official 330:c80ac197fa6a 45
mbed_official 330:c80ac197fa6a 46 /* Includes ------------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 47 #include "stm32f3xx_hal_def.h"
mbed_official 330:c80ac197fa6a 48
mbed_official 330:c80ac197fa6a 49 /** @addtogroup STM32F3xx_HAL_Driver
mbed_official 330:c80ac197fa6a 50 * @{
mbed_official 330:c80ac197fa6a 51 */
mbed_official 330:c80ac197fa6a 52
mbed_official 330:c80ac197fa6a 53 /** @addtogroup PWR PWR HAL Driver module
mbed_official 330:c80ac197fa6a 54 * @{
mbed_official 330:c80ac197fa6a 55 */
mbed_official 330:c80ac197fa6a 56
mbed_official 330:c80ac197fa6a 57 /* Exported types ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 58 /* Exported constants --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 59 /** @defgroup PWR_Alias_Exported_Constants PWR Alias Exported Constants
mbed_official 330:c80ac197fa6a 60 * @{
mbed_official 330:c80ac197fa6a 61 */
mbed_official 330:c80ac197fa6a 62 /* ------------- PWR registers bit address in the alias region ---------------*/
mbed_official 330:c80ac197fa6a 63 #define PWR_OFFSET (PWR_BASE - PERIPH_BASE)
mbed_official 330:c80ac197fa6a 64
mbed_official 330:c80ac197fa6a 65 /* --- CR Register ---*/
mbed_official 330:c80ac197fa6a 66 #define CR_OFFSET (PWR_OFFSET + 0x00)
mbed_official 330:c80ac197fa6a 67 /* Alias word address of DBP bit */
mbed_official 330:c80ac197fa6a 68 #define DBP_BitNumber POSITION_VAL(PWR_CR_DBP)
mbed_official 330:c80ac197fa6a 69 #define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
mbed_official 330:c80ac197fa6a 70
mbed_official 330:c80ac197fa6a 71 /* Alias word address of PVDE bit */
mbed_official 330:c80ac197fa6a 72 #define PVDE_BitNumber POSITION_VAL(PWR_CR_PVDE)
mbed_official 330:c80ac197fa6a 73 #define CR_PVDE_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (PVDE_BitNumber * 4))
mbed_official 330:c80ac197fa6a 74
mbed_official 330:c80ac197fa6a 75 /* --- CSR Register ---*/
mbed_official 330:c80ac197fa6a 76 #define CSR_OFFSET (PWR_OFFSET + 0x04)
mbed_official 330:c80ac197fa6a 77 /* Alias word address of EWUP1 bit */
mbed_official 330:c80ac197fa6a 78 #define EWUP1_BitNumber POSITION_VAL(PWR_CSR_EWUP1)
mbed_official 330:c80ac197fa6a 79 #define CSR_EWUP1_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (EWUP1_BitNumber * 4))
mbed_official 330:c80ac197fa6a 80
mbed_official 330:c80ac197fa6a 81 /* Alias word address of EWUP2 bit */
mbed_official 330:c80ac197fa6a 82 #define EWUP2_BitNumber POSITION_VAL(PWR_CSR_EWUP2)
mbed_official 330:c80ac197fa6a 83 #define CSR_EWUP2_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (EWUP2_BitNumber * 4))
mbed_official 330:c80ac197fa6a 84
mbed_official 330:c80ac197fa6a 85 /* Alias word address of EWUP3 bit */
mbed_official 330:c80ac197fa6a 86 #define EWUP3_BitNumber POSITION_VAL(PWR_CSR_EWUP3)
mbed_official 330:c80ac197fa6a 87 #define CSR_EWUP3_BB (PERIPH_BB_BASE + (CSR_OFFSET * 32) + (EWUP3_BitNumber * 4))
mbed_official 330:c80ac197fa6a 88 /**
mbed_official 330:c80ac197fa6a 89 * @}
mbed_official 330:c80ac197fa6a 90 */
mbed_official 330:c80ac197fa6a 91
mbed_official 330:c80ac197fa6a 92 /** @defgroup PWR_Exported_Constants PWR Exported Constants
mbed_official 330:c80ac197fa6a 93 * @{
mbed_official 330:c80ac197fa6a 94 */
mbed_official 330:c80ac197fa6a 95
mbed_official 330:c80ac197fa6a 96 /** @defgroup PWR_WakeUp_Pins PWR WakeUp Pins
mbed_official 330:c80ac197fa6a 97 * @{
mbed_official 330:c80ac197fa6a 98 */
mbed_official 330:c80ac197fa6a 99
mbed_official 330:c80ac197fa6a 100 #define PWR_WAKEUP_PIN1 ((uint32_t)0x00)
mbed_official 330:c80ac197fa6a 101 #define PWR_WAKEUP_PIN2 ((uint32_t)0x01)
mbed_official 330:c80ac197fa6a 102 #define PWR_WAKEUP_PIN3 ((uint32_t)0x02)
mbed_official 330:c80ac197fa6a 103 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WAKEUP_PIN1) || \
mbed_official 330:c80ac197fa6a 104 ((PIN) == PWR_WAKEUP_PIN2) || \
mbed_official 330:c80ac197fa6a 105 ((PIN) == PWR_WAKEUP_PIN3))
mbed_official 330:c80ac197fa6a 106 /**
mbed_official 330:c80ac197fa6a 107 * @}
mbed_official 330:c80ac197fa6a 108 */
mbed_official 330:c80ac197fa6a 109
mbed_official 330:c80ac197fa6a 110 /** @defgroup PWR_Regulator_state_in_STOP_mode PWR Regulator state in STOP mode
mbed_official 330:c80ac197fa6a 111 * @{
mbed_official 330:c80ac197fa6a 112 */
mbed_official 330:c80ac197fa6a 113 #define PWR_MAINREGULATOR_ON ((uint32_t)0x00000000)
mbed_official 330:c80ac197fa6a 114 #define PWR_LOWPOWERREGULATOR_ON PWR_CR_LPDS
mbed_official 330:c80ac197fa6a 115
mbed_official 330:c80ac197fa6a 116 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) || \
mbed_official 330:c80ac197fa6a 117 ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON))
mbed_official 330:c80ac197fa6a 118 /**
mbed_official 330:c80ac197fa6a 119 * @}
mbed_official 330:c80ac197fa6a 120 */
mbed_official 330:c80ac197fa6a 121
mbed_official 330:c80ac197fa6a 122 /** @defgroup PWR_SLEEP_mode_entry PWR SLEEP mode entry
mbed_official 330:c80ac197fa6a 123 * @{
mbed_official 330:c80ac197fa6a 124 */
mbed_official 330:c80ac197fa6a 125 #define PWR_SLEEPENTRY_WFI ((uint8_t)0x01)
mbed_official 330:c80ac197fa6a 126 #define PWR_SLEEPENTRY_WFE ((uint8_t)0x02)
mbed_official 330:c80ac197fa6a 127 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) || ((ENTRY) == PWR_SLEEPENTRY_WFE))
mbed_official 330:c80ac197fa6a 128 /**
mbed_official 330:c80ac197fa6a 129 * @}
mbed_official 330:c80ac197fa6a 130 */
mbed_official 330:c80ac197fa6a 131
mbed_official 330:c80ac197fa6a 132 /** @defgroup PWR_STOP_mode_entry PWR STOP mode entry
mbed_official 330:c80ac197fa6a 133 * @{
mbed_official 330:c80ac197fa6a 134 */
mbed_official 330:c80ac197fa6a 135 #define PWR_STOPENTRY_WFI ((uint8_t)0x01)
mbed_official 330:c80ac197fa6a 136 #define PWR_STOPENTRY_WFE ((uint8_t)0x02)
mbed_official 330:c80ac197fa6a 137 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) || ((ENTRY) == PWR_STOPENTRY_WFE))
mbed_official 330:c80ac197fa6a 138 /**
mbed_official 330:c80ac197fa6a 139 * @}
mbed_official 330:c80ac197fa6a 140 */
mbed_official 330:c80ac197fa6a 141
mbed_official 330:c80ac197fa6a 142 /** @defgroup PWR_Flag PWR Flag
mbed_official 330:c80ac197fa6a 143 * @{
mbed_official 330:c80ac197fa6a 144 */
mbed_official 330:c80ac197fa6a 145 #define PWR_FLAG_WU PWR_CSR_WUF
mbed_official 330:c80ac197fa6a 146 #define PWR_FLAG_SB PWR_CSR_SBF
mbed_official 330:c80ac197fa6a 147 #define PWR_FLAG_PVDO PWR_CSR_PVDO
mbed_official 330:c80ac197fa6a 148 #define PWR_FLAG_VREFINTRDY PWR_CSR_VREFINTRDYF
mbed_official 330:c80ac197fa6a 149 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
mbed_official 330:c80ac197fa6a 150 ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY))
mbed_official 330:c80ac197fa6a 151
mbed_official 330:c80ac197fa6a 152
mbed_official 330:c80ac197fa6a 153 /**
mbed_official 330:c80ac197fa6a 154 * @}
mbed_official 330:c80ac197fa6a 155 */
mbed_official 330:c80ac197fa6a 156
mbed_official 330:c80ac197fa6a 157 /**
mbed_official 330:c80ac197fa6a 158 * @}
mbed_official 330:c80ac197fa6a 159 */
mbed_official 330:c80ac197fa6a 160
mbed_official 330:c80ac197fa6a 161 /* Exported macro ------------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 162 /** @defgroup PWR_Exported_Macro PWR Exported Macro
mbed_official 330:c80ac197fa6a 163 * @{
mbed_official 330:c80ac197fa6a 164 */
mbed_official 330:c80ac197fa6a 165
mbed_official 330:c80ac197fa6a 166 /** @brief Check PWR flag is set or not.
mbed_official 330:c80ac197fa6a 167 * @param __FLAG__: specifies the flag to check.
mbed_official 330:c80ac197fa6a 168 * This parameter can be one of the following values:
mbed_official 330:c80ac197fa6a 169 * @arg PWR_FLAG_WU: Wake Up flag. This flag indicates that a wakeup event
mbed_official 330:c80ac197fa6a 170 * was received from the WKUP pin or from the RTC alarm (Alarm A
mbed_official 330:c80ac197fa6a 171 * or Alarm B), RTC Tamper event, RTC TimeStamp event or RTC Wakeup.
mbed_official 330:c80ac197fa6a 172 * An additional wakeup event is detected if the WKUP pin is enabled
mbed_official 330:c80ac197fa6a 173 * (by setting the EWUP bit) when the WKUP pin level is already high.
mbed_official 330:c80ac197fa6a 174 * @arg PWR_FLAG_SB: StandBy flag. This flag indicates that the system was
mbed_official 330:c80ac197fa6a 175 * resumed from StandBy mode.
mbed_official 330:c80ac197fa6a 176 * @arg PWR_FLAG_PVDO: PVD Output. This flag is valid only if PVD is enabled
mbed_official 330:c80ac197fa6a 177 * by the HAL_PWR_EnablePVD() function. The PVD is stopped by Standby mode
mbed_official 330:c80ac197fa6a 178 * For this reason, this bit is equal to 0 after Standby or reset
mbed_official 330:c80ac197fa6a 179 * until the PVDE bit is set.
mbed_official 330:c80ac197fa6a 180 * @arg PWR_FLAG_VREFINTRDY: This flag indicates that the internal reference
mbed_official 330:c80ac197fa6a 181 * voltage VREFINT is ready.
mbed_official 330:c80ac197fa6a 182 * @retval The new state of __FLAG__ (TRUE or FALSE).
mbed_official 330:c80ac197fa6a 183 */
mbed_official 330:c80ac197fa6a 184 #define __HAL_PWR_GET_FLAG(__FLAG__) ((PWR->CSR & (__FLAG__)) == (__FLAG__))
mbed_official 330:c80ac197fa6a 185
mbed_official 330:c80ac197fa6a 186 /** @brief Clear the PWR's pending flags.
mbed_official 330:c80ac197fa6a 187 * @param __FLAG__: specifies the flag to clear.
mbed_official 330:c80ac197fa6a 188 * This parameter can be one of the following values:
mbed_official 330:c80ac197fa6a 189 * @arg PWR_FLAG_WU: Wake Up flag
mbed_official 330:c80ac197fa6a 190 * @arg PWR_FLAG_SB: StandBy flag
mbed_official 330:c80ac197fa6a 191 */
mbed_official 330:c80ac197fa6a 192 #define __HAL_PWR_CLEAR_FLAG(__FLAG__) (PWR->CR |= (__FLAG__) << 2)
mbed_official 330:c80ac197fa6a 193
mbed_official 330:c80ac197fa6a 194 /**
mbed_official 330:c80ac197fa6a 195 * @}
mbed_official 330:c80ac197fa6a 196 */
mbed_official 330:c80ac197fa6a 197
mbed_official 330:c80ac197fa6a 198 /* Include PWR HAL Extended module */
mbed_official 330:c80ac197fa6a 199 #include "stm32f3xx_hal_pwr_ex.h"
mbed_official 330:c80ac197fa6a 200
mbed_official 330:c80ac197fa6a 201 /* Exported functions --------------------------------------------------------*/
mbed_official 330:c80ac197fa6a 202
mbed_official 330:c80ac197fa6a 203 /** @addtogroup PWR_Exported_Functions PWR Exported Functions
mbed_official 330:c80ac197fa6a 204 * @{
mbed_official 330:c80ac197fa6a 205 */
mbed_official 330:c80ac197fa6a 206
mbed_official 330:c80ac197fa6a 207 /** @addtogroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions
mbed_official 330:c80ac197fa6a 208 * @{
mbed_official 330:c80ac197fa6a 209 */
mbed_official 330:c80ac197fa6a 210
mbed_official 330:c80ac197fa6a 211 /* Initialization and de-initialization functions *****************************/
mbed_official 330:c80ac197fa6a 212 void HAL_PWR_DeInit(void);
mbed_official 330:c80ac197fa6a 213
mbed_official 330:c80ac197fa6a 214 /**
mbed_official 330:c80ac197fa6a 215 * @}
mbed_official 330:c80ac197fa6a 216 */
mbed_official 330:c80ac197fa6a 217
mbed_official 330:c80ac197fa6a 218 /** @addtogroup PWR_Exported_Functions_Group2 Peripheral Control functions
mbed_official 330:c80ac197fa6a 219 * @{
mbed_official 330:c80ac197fa6a 220 */
mbed_official 330:c80ac197fa6a 221
mbed_official 330:c80ac197fa6a 222 /* Peripheral Control functions **********************************************/
mbed_official 330:c80ac197fa6a 223 void HAL_PWR_EnableBkUpAccess(void);
mbed_official 330:c80ac197fa6a 224 void HAL_PWR_DisableBkUpAccess(void);
mbed_official 330:c80ac197fa6a 225
mbed_official 330:c80ac197fa6a 226 /* WakeUp pins configuration functions ****************************************/
mbed_official 330:c80ac197fa6a 227 void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx);
mbed_official 330:c80ac197fa6a 228 void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx);
mbed_official 330:c80ac197fa6a 229
mbed_official 330:c80ac197fa6a 230 /* Low Power modes configuration functions ************************************/
mbed_official 330:c80ac197fa6a 231 void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry);
mbed_official 330:c80ac197fa6a 232 void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry);
mbed_official 330:c80ac197fa6a 233 void HAL_PWR_EnterSTANDBYMode(void);
mbed_official 330:c80ac197fa6a 234
mbed_official 330:c80ac197fa6a 235 /**
mbed_official 330:c80ac197fa6a 236 * @}
mbed_official 330:c80ac197fa6a 237 */
mbed_official 330:c80ac197fa6a 238
mbed_official 330:c80ac197fa6a 239 /**
mbed_official 330:c80ac197fa6a 240 * @}
mbed_official 330:c80ac197fa6a 241 */
mbed_official 330:c80ac197fa6a 242
mbed_official 330:c80ac197fa6a 243 /**
mbed_official 330:c80ac197fa6a 244 * @}
mbed_official 330:c80ac197fa6a 245 */
mbed_official 330:c80ac197fa6a 246
mbed_official 330:c80ac197fa6a 247 /**
mbed_official 330:c80ac197fa6a 248 * @}
mbed_official 330:c80ac197fa6a 249 */
mbed_official 330:c80ac197fa6a 250
mbed_official 330:c80ac197fa6a 251 #ifdef __cplusplus
mbed_official 330:c80ac197fa6a 252 }
mbed_official 330:c80ac197fa6a 253 #endif
mbed_official 330:c80ac197fa6a 254
mbed_official 330:c80ac197fa6a 255
mbed_official 330:c80ac197fa6a 256 #endif /* __STM32F3xx_HAL_PWR_H */
mbed_official 330:c80ac197fa6a 257
mbed_official 330:c80ac197fa6a 258 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/