Fork of the official mbed C/C SDK provides the software platform and libraries to build your applications for RenBED.

Dependents:   1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB

Fork of mbed by mbed official

Committer:
elijahorr
Date:
Thu Apr 14 07:28:54 2016 +0000
Revision:
121:672067c3ada4
Parent:
116:c0f6e94411f5
.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 116:c0f6e94411f5 1 /**
Kojto 116:c0f6e94411f5 2 ******************************************************************************
Kojto 116:c0f6e94411f5 3 * @file stm32l0xx.h
Kojto 116:c0f6e94411f5 4 * @author MCD Application Team
Kojto 116:c0f6e94411f5 5 * @version V1.2.0
Kojto 116:c0f6e94411f5 6 * @date 06-February-2015
Kojto 116:c0f6e94411f5 7 * @brief CMSIS Cortex-M0+ Device Peripheral Access Layer Header File.
Kojto 116:c0f6e94411f5 8 * This file contains all the peripheral register's definitions, bits
Kojto 116:c0f6e94411f5 9 * definitions and memory mapping for STM32L0xx devices.
Kojto 116:c0f6e94411f5 10 *
Kojto 116:c0f6e94411f5 11 * The file is the unique include file that the application programmer
Kojto 116:c0f6e94411f5 12 * is using in the C source code, usually in main.c. This file contains:
Kojto 116:c0f6e94411f5 13 * - Configuration section that allows to select:
Kojto 116:c0f6e94411f5 14 * - The device used in the target application
Kojto 116:c0f6e94411f5 15 * - To use or not the peripheral’s drivers in application code(i.e.
Kojto 116:c0f6e94411f5 16 * code will be based on direct access to peripheral’s registers
Kojto 116:c0f6e94411f5 17 * rather than drivers API), this option is controlled by
Kojto 116:c0f6e94411f5 18 * "#define USE_HAL_DRIVER"
Kojto 116:c0f6e94411f5 19 *
Kojto 116:c0f6e94411f5 20 ******************************************************************************
Kojto 116:c0f6e94411f5 21 * @attention
Kojto 116:c0f6e94411f5 22 *
Kojto 116:c0f6e94411f5 23 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
Kojto 116:c0f6e94411f5 24 *
Kojto 116:c0f6e94411f5 25 * Redistribution and use in source and binary forms, with or without modification,
Kojto 116:c0f6e94411f5 26 * are permitted provided that the following conditions are met:
Kojto 116:c0f6e94411f5 27 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 116:c0f6e94411f5 28 * this list of conditions and the following disclaimer.
Kojto 116:c0f6e94411f5 29 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 116:c0f6e94411f5 30 * this list of conditions and the following disclaimer in the documentation
Kojto 116:c0f6e94411f5 31 * and/or other materials provided with the distribution.
Kojto 116:c0f6e94411f5 32 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Kojto 116:c0f6e94411f5 33 * may be used to endorse or promote products derived from this software
Kojto 116:c0f6e94411f5 34 * without specific prior written permission.
Kojto 116:c0f6e94411f5 35 *
Kojto 116:c0f6e94411f5 36 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Kojto 116:c0f6e94411f5 37 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Kojto 116:c0f6e94411f5 38 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Kojto 116:c0f6e94411f5 39 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Kojto 116:c0f6e94411f5 40 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 116:c0f6e94411f5 41 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Kojto 116:c0f6e94411f5 42 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Kojto 116:c0f6e94411f5 43 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Kojto 116:c0f6e94411f5 44 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Kojto 116:c0f6e94411f5 45 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Kojto 116:c0f6e94411f5 46 *
Kojto 116:c0f6e94411f5 47 ******************************************************************************
Kojto 116:c0f6e94411f5 48 */
Kojto 116:c0f6e94411f5 49
Kojto 116:c0f6e94411f5 50 /** @addtogroup CMSIS
Kojto 116:c0f6e94411f5 51 * @{
Kojto 116:c0f6e94411f5 52 */
Kojto 116:c0f6e94411f5 53
Kojto 116:c0f6e94411f5 54 /** @addtogroup stm32l0xx
Kojto 116:c0f6e94411f5 55 * @{
Kojto 116:c0f6e94411f5 56 */
Kojto 116:c0f6e94411f5 57
Kojto 116:c0f6e94411f5 58 #ifndef __STM32L0xx_H
Kojto 116:c0f6e94411f5 59 #define __STM32L0xx_H
Kojto 116:c0f6e94411f5 60
Kojto 116:c0f6e94411f5 61 #ifdef __cplusplus
Kojto 116:c0f6e94411f5 62 extern "C" {
Kojto 116:c0f6e94411f5 63 #endif /* __cplusplus */
Kojto 116:c0f6e94411f5 64
Kojto 116:c0f6e94411f5 65 /** @addtogroup Library_configuration_section
Kojto 116:c0f6e94411f5 66 * @{
Kojto 116:c0f6e94411f5 67 */
Kojto 116:c0f6e94411f5 68
Kojto 116:c0f6e94411f5 69 /**
Kojto 116:c0f6e94411f5 70 * @brief STM32 Family
Kojto 116:c0f6e94411f5 71 */
Kojto 116:c0f6e94411f5 72 #if !defined (STM32L0)
Kojto 116:c0f6e94411f5 73 #define STM32L0
Kojto 116:c0f6e94411f5 74 #endif /* STM32L0 */
Kojto 116:c0f6e94411f5 75
Kojto 116:c0f6e94411f5 76 /* Uncomment the line below according to the target STM32 device used in your
Kojto 116:c0f6e94411f5 77 application
Kojto 116:c0f6e94411f5 78 */
Kojto 116:c0f6e94411f5 79
Kojto 116:c0f6e94411f5 80 #if !defined (STM32L051xx) && !defined (STM32L052xx) && !defined (STM32L053xx) && !defined (STM32L061xx) && !defined (STM32L062xx) && !defined (STM32L063xx) \
Kojto 116:c0f6e94411f5 81 && !defined (STM32L071xx) && !defined (STM32L072xx) && !defined (STM32L073xx) && !defined (STM32L081xx) && !defined (STM32L082xx) && !defined (STM32L083xx)
Kojto 116:c0f6e94411f5 82 /* #define STM32L051xx */ /*!< STM32L051K8, STM32L051C6, STM32L051C8, STM32L051R6, STM32L051R8 Devices */
Kojto 116:c0f6e94411f5 83 /* #define STM32L052xx */ /*!< STM32L052K6, STM32L052K8, STM32L052C6, STM32L052C8, STM32L052R6, STM32L052R8 Devices */
Kojto 116:c0f6e94411f5 84 /* #define STM32L053xx */ /*!< STM32L053C6, STM32L053C8, STM32L053R6, STM32L053R8 Devices */
Kojto 116:c0f6e94411f5 85 /* #define STM32L061xx */ /*!< */
Kojto 116:c0f6e94411f5 86 /* #define STM32L062xx */ /*!< STM32L062K8 */
Kojto 116:c0f6e94411f5 87 /* #define STM32L063xx */ /*!< STM32L063C8, STM32L063R8 */
Kojto 116:c0f6e94411f5 88 /* #define STM32L071xx */ /*!< */
Kojto 116:c0f6e94411f5 89 /* #define STM32L072xx */ /*!< */
Kojto 116:c0f6e94411f5 90 #define STM32L073xx /*!< STM32L073V8, STM32L073VB, STM32L073RB, STM32L073VZ, STM32L073RZ Devices */
Kojto 116:c0f6e94411f5 91 /* #define STM32L081xx */ /*!< */
Kojto 116:c0f6e94411f5 92 /* #define STM32L082xx */ /*!< */
Kojto 116:c0f6e94411f5 93 /* #define STM32L083xx */ /*!< */
Kojto 116:c0f6e94411f5 94 #endif
Kojto 116:c0f6e94411f5 95
Kojto 116:c0f6e94411f5 96 /* Tip: To avoid modifying this file each time you need to switch between these
Kojto 116:c0f6e94411f5 97 devices, you can define the device in your toolchain compiler preprocessor.
Kojto 116:c0f6e94411f5 98 */
Kojto 116:c0f6e94411f5 99 #if !defined (USE_HAL_DRIVER)
Kojto 116:c0f6e94411f5 100 /**
Kojto 116:c0f6e94411f5 101 * @brief Comment the line below if you will not use the peripherals drivers.
Kojto 116:c0f6e94411f5 102 In this case, these drivers will not be included and the application code will
Kojto 116:c0f6e94411f5 103 be based on direct access to peripherals registers
Kojto 116:c0f6e94411f5 104 */
Kojto 116:c0f6e94411f5 105 #define USE_HAL_DRIVER
Kojto 116:c0f6e94411f5 106 #endif /* USE_HAL_DRIVER */
Kojto 116:c0f6e94411f5 107
Kojto 116:c0f6e94411f5 108 /**
Kojto 116:c0f6e94411f5 109 * @brief CMSIS Device version number V1.2.0
Kojto 116:c0f6e94411f5 110 */
Kojto 116:c0f6e94411f5 111 #define __STM32L0xx_CMSIS_DEVICE_VERSION_MAIN (0x01) /*!< [31:24] main version */
Kojto 116:c0f6e94411f5 112 #define __STM32L0xx_CMSIS_DEVICE_VERSION_SUB1 (0x02) /*!< [23:16] sub1 version */
Kojto 116:c0f6e94411f5 113 #define __STM32L0xx_CMSIS_DEVICE_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */
Kojto 116:c0f6e94411f5 114 #define __STM32L0xx_CMSIS_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
Kojto 116:c0f6e94411f5 115 #define __STM32L0xx_CMSIS_DEVICE_VERSION ((__CMSIS_DEVICE_VERSION_MAIN << 24)\
Kojto 116:c0f6e94411f5 116 |(__CMSIS_DEVICE_HAL_VERSION_SUB1 << 16)\
Kojto 116:c0f6e94411f5 117 |(__CMSIS_DEVICE_HAL_VERSION_SUB2 << 8 )\
Kojto 116:c0f6e94411f5 118 |(__CMSIS_DEVICE_HAL_VERSION_RC))
Kojto 116:c0f6e94411f5 119
Kojto 116:c0f6e94411f5 120 /**
Kojto 116:c0f6e94411f5 121 * @}
Kojto 116:c0f6e94411f5 122 */
Kojto 116:c0f6e94411f5 123
Kojto 116:c0f6e94411f5 124 /** @addtogroup Device_Included
Kojto 116:c0f6e94411f5 125 * @{
Kojto 116:c0f6e94411f5 126 */
Kojto 116:c0f6e94411f5 127
Kojto 116:c0f6e94411f5 128 #if defined(STM32L031xx)
Kojto 116:c0f6e94411f5 129 #include "stm32l031xx.h"
Kojto 116:c0f6e94411f5 130 #elif defined(STM32L041xx)
Kojto 116:c0f6e94411f5 131 #include "stm32l041xx.h"
Kojto 116:c0f6e94411f5 132 #elif defined(STM32L051xx)
Kojto 116:c0f6e94411f5 133 #include "stm32l051xx.h"
Kojto 116:c0f6e94411f5 134 #elif defined(STM32L052xx)
Kojto 116:c0f6e94411f5 135 #include "stm32l052xx.h"
Kojto 116:c0f6e94411f5 136 #elif defined(STM32L053xx)
Kojto 116:c0f6e94411f5 137 #include "stm32l053xx.h"
Kojto 116:c0f6e94411f5 138 #elif defined(STM32L062xx)
Kojto 116:c0f6e94411f5 139 #include "stm32l062xx.h"
Kojto 116:c0f6e94411f5 140 #elif defined(STM32L063xx)
Kojto 116:c0f6e94411f5 141 #include "stm32l063xx.h"
Kojto 116:c0f6e94411f5 142 #elif defined(STM32L061xx)
Kojto 116:c0f6e94411f5 143 #include "stm32l061xx.h"
Kojto 116:c0f6e94411f5 144 #elif defined(STM32L071xx)
Kojto 116:c0f6e94411f5 145 #include "stm32l071xx.h"
Kojto 116:c0f6e94411f5 146 #elif defined(STM32L072xx)
Kojto 116:c0f6e94411f5 147 #include "stm32l072xx.h"
Kojto 116:c0f6e94411f5 148 #elif defined(STM32L073xx)
Kojto 116:c0f6e94411f5 149 #include "stm32l073xx.h"
Kojto 116:c0f6e94411f5 150 #elif defined(STM32L082xx)
Kojto 116:c0f6e94411f5 151 #include "stm32l082xx.h"
Kojto 116:c0f6e94411f5 152 #elif defined(STM32L083xx)
Kojto 116:c0f6e94411f5 153 #include "stm32l083xx.h"
Kojto 116:c0f6e94411f5 154 #elif defined(STM32L081xx)
Kojto 116:c0f6e94411f5 155 #include "stm32l081xx.h"
Kojto 116:c0f6e94411f5 156 #else
Kojto 116:c0f6e94411f5 157 #error "Please select first the target STM32L0xx device used in your application (in stm32l0xx.h file)"
Kojto 116:c0f6e94411f5 158 #endif
Kojto 116:c0f6e94411f5 159
Kojto 116:c0f6e94411f5 160 /**
Kojto 116:c0f6e94411f5 161 * @}
Kojto 116:c0f6e94411f5 162 */
Kojto 116:c0f6e94411f5 163
Kojto 116:c0f6e94411f5 164 /** @addtogroup Exported_types
Kojto 116:c0f6e94411f5 165 * @{
Kojto 116:c0f6e94411f5 166 */
Kojto 116:c0f6e94411f5 167 typedef enum
Kojto 116:c0f6e94411f5 168 {
Kojto 116:c0f6e94411f5 169 RESET = 0,
Kojto 116:c0f6e94411f5 170 SET = !RESET
Kojto 116:c0f6e94411f5 171 } FlagStatus, ITStatus;
Kojto 116:c0f6e94411f5 172
Kojto 116:c0f6e94411f5 173 typedef enum
Kojto 116:c0f6e94411f5 174 {
Kojto 116:c0f6e94411f5 175 DISABLE = 0,
Kojto 116:c0f6e94411f5 176 ENABLE = !DISABLE
Kojto 116:c0f6e94411f5 177 } FunctionalState;
Kojto 116:c0f6e94411f5 178 #define IS_FUNCTIONAL_STATE(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))
Kojto 116:c0f6e94411f5 179
Kojto 116:c0f6e94411f5 180 typedef enum
Kojto 116:c0f6e94411f5 181 {
Kojto 116:c0f6e94411f5 182 ERROR = 0,
Kojto 116:c0f6e94411f5 183 SUCCESS = !ERROR
Kojto 116:c0f6e94411f5 184 } ErrorStatus;
Kojto 116:c0f6e94411f5 185
Kojto 116:c0f6e94411f5 186 /**
Kojto 116:c0f6e94411f5 187 * @}
Kojto 116:c0f6e94411f5 188 */
Kojto 116:c0f6e94411f5 189
Kojto 116:c0f6e94411f5 190
Kojto 116:c0f6e94411f5 191 /** @addtogroup Exported_macro
Kojto 116:c0f6e94411f5 192 * @{
Kojto 116:c0f6e94411f5 193 */
Kojto 116:c0f6e94411f5 194 #define SET_BIT(REG, BIT) ((REG) |= (BIT))
Kojto 116:c0f6e94411f5 195
Kojto 116:c0f6e94411f5 196 #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))
Kojto 116:c0f6e94411f5 197
Kojto 116:c0f6e94411f5 198 #define READ_BIT(REG, BIT) ((REG) & (BIT))
Kojto 116:c0f6e94411f5 199
Kojto 116:c0f6e94411f5 200 #define CLEAR_REG(REG) ((REG) = (0x0))
Kojto 116:c0f6e94411f5 201
Kojto 116:c0f6e94411f5 202 #define WRITE_REG(REG, VAL) ((REG) = (VAL))
Kojto 116:c0f6e94411f5 203
Kojto 116:c0f6e94411f5 204 #define READ_REG(REG) ((REG))
Kojto 116:c0f6e94411f5 205
Kojto 116:c0f6e94411f5 206 #define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))
Kojto 116:c0f6e94411f5 207
Kojto 116:c0f6e94411f5 208
Kojto 116:c0f6e94411f5 209 /**
Kojto 116:c0f6e94411f5 210 * @}
Kojto 116:c0f6e94411f5 211 */
Kojto 116:c0f6e94411f5 212
Kojto 116:c0f6e94411f5 213 #if defined (USE_HAL_DRIVER)
Kojto 116:c0f6e94411f5 214 #include "stm32l0xx_hal.h"
Kojto 116:c0f6e94411f5 215 #endif /* USE_HAL_DRIVER */
Kojto 116:c0f6e94411f5 216
Kojto 116:c0f6e94411f5 217 #ifdef __cplusplus
Kojto 116:c0f6e94411f5 218 }
Kojto 116:c0f6e94411f5 219 #endif /* __cplusplus */
Kojto 116:c0f6e94411f5 220
Kojto 116:c0f6e94411f5 221 #endif /* __STM32L0xx_H */
Kojto 116:c0f6e94411f5 222 /**
Kojto 116:c0f6e94411f5 223 * @}
Kojto 116:c0f6e94411f5 224 */
Kojto 116:c0f6e94411f5 225
Kojto 116:c0f6e94411f5 226 /**
Kojto 116:c0f6e94411f5 227 * @}
Kojto 116:c0f6e94411f5 228 */
Kojto 116:c0f6e94411f5 229
Kojto 116:c0f6e94411f5 230
Kojto 116:c0f6e94411f5 231
Kojto 116:c0f6e94411f5 232
Kojto 116:c0f6e94411f5 233 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/