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_opamp.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 operational
mbed_official 76:aeb1df146756 8 * amplifiers (opamp) firmware 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_OPAMP_H
mbed_official 76:aeb1df146756 31 #define __STM32L1xx_OPAMP_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 OPAMP
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 OPAMP_Exported_Constants
mbed_official 76:aeb1df146756 52 * @{
mbed_official 76:aeb1df146756 53 */
mbed_official 76:aeb1df146756 54
mbed_official 76:aeb1df146756 55 /** @defgroup OPAMP_Selection
mbed_official 76:aeb1df146756 56 * @{
mbed_official 76:aeb1df146756 57 */
mbed_official 76:aeb1df146756 58
mbed_official 76:aeb1df146756 59 #define OPAMP_Selection_OPAMP1 OPAMP_CSR_OPA1PD
mbed_official 76:aeb1df146756 60 #define OPAMP_Selection_OPAMP2 OPAMP_CSR_OPA2PD
mbed_official 76:aeb1df146756 61 #define OPAMP_Selection_OPAMP3 OPAMP_CSR_OPA3PD
mbed_official 76:aeb1df146756 62
mbed_official 76:aeb1df146756 63 #define IS_OPAMP_ALL_PERIPH(PERIPH) (((PERIPH) == OPAMP_Selection_OPAMP1) || \
mbed_official 76:aeb1df146756 64 ((PERIPH) == OPAMP_Selection_OPAMP2) || \
mbed_official 76:aeb1df146756 65 ((PERIPH) == OPAMP_Selection_OPAMP3))
mbed_official 76:aeb1df146756 66
mbed_official 76:aeb1df146756 67 /**
mbed_official 76:aeb1df146756 68 * @}
mbed_official 76:aeb1df146756 69 */
mbed_official 76:aeb1df146756 70
mbed_official 76:aeb1df146756 71 /** @defgroup OPAMP_Switches
mbed_official 76:aeb1df146756 72 * @{
mbed_official 76:aeb1df146756 73 */
mbed_official 76:aeb1df146756 74
mbed_official 76:aeb1df146756 75 /* OPAMP1 Switches */
mbed_official 76:aeb1df146756 76 #define OPAMP_OPAMP1Switch3 OPAMP_CSR_S3SEL1 /*!< OPAMP1 Switch 3 */
mbed_official 76:aeb1df146756 77 #define OPAMP_OPAMP1Switch4 OPAMP_CSR_S4SEL1 /*!< OPAMP1 Switch 4 */
mbed_official 76:aeb1df146756 78 #define OPAMP_OPAMP1Switch5 OPAMP_CSR_S5SEL1 /*!< OPAMP1 Switch 5 */
mbed_official 76:aeb1df146756 79 #define OPAMP_OPAMP1Switch6 OPAMP_CSR_S6SEL1 /*!< OPAMP1 Switch 6 */
mbed_official 76:aeb1df146756 80 #define OPAMP_OPAMP1SwitchANA OPAMP_CSR_ANAWSEL1 /*!< OPAMP1 Switch ANA */
mbed_official 76:aeb1df146756 81
mbed_official 76:aeb1df146756 82 /* OPAMP2 Switches */
mbed_official 76:aeb1df146756 83 #define OPAMP_OPAMP2Switch3 OPAMP_CSR_S3SEL2 /*!< OPAMP2 Switch 3 */
mbed_official 76:aeb1df146756 84 #define OPAMP_OPAMP2Switch4 OPAMP_CSR_S4SEL2 /*!< OPAMP2 Switch 4 */
mbed_official 76:aeb1df146756 85 #define OPAMP_OPAMP2Switch5 OPAMP_CSR_S5SEL2 /*!< OPAMP2 Switch 5 */
mbed_official 76:aeb1df146756 86 #define OPAMP_OPAMP2Switch6 OPAMP_CSR_S6SEL2 /*!< OPAMP2 Switch 6 */
mbed_official 76:aeb1df146756 87 #define OPAMP_OPAMP2Switch7 OPAMP_CSR_S7SEL2 /*!< OPAMP2 Switch 7 */
mbed_official 76:aeb1df146756 88 #define OPAMP_OPAMP2SwitchANA OPAMP_CSR_ANAWSEL2 /*!< OPAMP2 Switch ANA */
mbed_official 76:aeb1df146756 89
mbed_official 76:aeb1df146756 90 /* OPAMP3 Switches */
mbed_official 76:aeb1df146756 91 #define OPAMP_OPAMP3Switch3 OPAMP_CSR_S3SEL3 /*!< OPAMP3 Switch 3 */
mbed_official 76:aeb1df146756 92 #define OPAMP_OPAMP3Switch4 OPAMP_CSR_S4SEL3 /*!< OPAMP3 Switch 4 */
mbed_official 76:aeb1df146756 93 #define OPAMP_OPAMP3Switch5 OPAMP_CSR_S5SEL3 /*!< OPAMP3 Switch 5 */
mbed_official 76:aeb1df146756 94 #define OPAMP_OPAMP3Switch6 OPAMP_CSR_S6SEL3 /*!< OPAMP3 Switch 6 */
mbed_official 76:aeb1df146756 95 #define OPAMP_OPAMP3SwitchANA OPAMP_CSR_ANAWSEL3 /*!< OPAMP3 Switch ANA */
mbed_official 76:aeb1df146756 96
mbed_official 76:aeb1df146756 97 #define IS_OPAMP_SWITCH(SWITCH) ((((SWITCH) & (uint32_t)0xF0E1E1E1) == 0x00) && ((SWITCH) != 0x00))
mbed_official 76:aeb1df146756 98
mbed_official 76:aeb1df146756 99 /**
mbed_official 76:aeb1df146756 100 * @}
mbed_official 76:aeb1df146756 101 */
mbed_official 76:aeb1df146756 102
mbed_official 76:aeb1df146756 103 /** @defgroup OPAMP_Trimming
mbed_official 76:aeb1df146756 104 * @{
mbed_official 76:aeb1df146756 105 */
mbed_official 76:aeb1df146756 106
mbed_official 76:aeb1df146756 107 #define OPAMP_Trimming_Factory ((uint32_t)0x00000000) /*!< Factory trimming */
mbed_official 76:aeb1df146756 108 #define OPAMP_Trimming_User OPAMP_OTR_OT_USER /*!< User trimming */
mbed_official 76:aeb1df146756 109
mbed_official 76:aeb1df146756 110 #define IS_OPAMP_TRIMMING(TRIMMING) (((TRIMMING) == OPAMP_Trimming_Factory) || \
mbed_official 76:aeb1df146756 111 ((TRIMMING) == OPAMP_Trimming_User))
mbed_official 76:aeb1df146756 112
mbed_official 76:aeb1df146756 113 /**
mbed_official 76:aeb1df146756 114 * @}
mbed_official 76:aeb1df146756 115 */
mbed_official 76:aeb1df146756 116
mbed_official 76:aeb1df146756 117 /** @defgroup OPAMP_Input
mbed_official 76:aeb1df146756 118 * @{
mbed_official 76:aeb1df146756 119 */
mbed_official 76:aeb1df146756 120
mbed_official 76:aeb1df146756 121 #define OPAMP_Input_NMOS OPAMP_CSR_OPA1CAL_H /*!< NMOS input */
mbed_official 76:aeb1df146756 122 #define OPAMP_Input_PMOS OPAMP_CSR_OPA1CAL_L /*!< PMOS input */
mbed_official 76:aeb1df146756 123
mbed_official 76:aeb1df146756 124 #define IS_OPAMP_INPUT(INPUT) (((INPUT) == OPAMP_Input_NMOS) || \
mbed_official 76:aeb1df146756 125 ((INPUT) == OPAMP_Input_PMOS))
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
mbed_official 76:aeb1df146756 131 /** @defgroup OPAMP_TrimValue
mbed_official 76:aeb1df146756 132 * @{
mbed_official 76:aeb1df146756 133 */
mbed_official 76:aeb1df146756 134
mbed_official 76:aeb1df146756 135 #define IS_OPAMP_TRIMMINGVALUE(VALUE) ((VALUE) <= 0x0000001F) /*!< Trimming value */
mbed_official 76:aeb1df146756 136
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 /** @defgroup OPAMP_PowerRange
mbed_official 76:aeb1df146756 142 * @{
mbed_official 76:aeb1df146756 143 */
mbed_official 76:aeb1df146756 144
mbed_official 76:aeb1df146756 145 #define OPAMP_PowerRange_Low ((uint32_t)0x00000000) /*!< Low power range is selected (VDDA is lower than 2.4V) */
mbed_official 76:aeb1df146756 146 #define OPAMP_PowerRange_High OPAMP_CSR_AOP_RANGE /*!< High power range is selected (VDDA is higher than 2.4V) */
mbed_official 76:aeb1df146756 147
mbed_official 76:aeb1df146756 148 #define IS_OPAMP_RANGE(RANGE) (((RANGE) == OPAMP_PowerRange_Low) || \
mbed_official 76:aeb1df146756 149 ((RANGE) == OPAMP_PowerRange_High))
mbed_official 76:aeb1df146756 150
mbed_official 76:aeb1df146756 151 /**
mbed_official 76:aeb1df146756 152 * @}
mbed_official 76:aeb1df146756 153 */
mbed_official 76:aeb1df146756 154 /**
mbed_official 76:aeb1df146756 155 * @}
mbed_official 76:aeb1df146756 156 */
mbed_official 76:aeb1df146756 157
mbed_official 76:aeb1df146756 158 /* Exported macro ------------------------------------------------------------*/
mbed_official 76:aeb1df146756 159 /* Exported functions ------------------------------------------------------- */
mbed_official 76:aeb1df146756 160 /* Initialization and Configuration functions *********************************/
mbed_official 76:aeb1df146756 161 void OPAMP_DeInit(void);
mbed_official 76:aeb1df146756 162 void OPAMP_SwitchCmd(uint32_t OPAMP_OPAMPxSwitchy, FunctionalState NewState);
mbed_official 76:aeb1df146756 163 void OPAMP_Cmd(uint32_t OPAMP_Selection, FunctionalState NewState);
mbed_official 76:aeb1df146756 164 void OPAMP_LowPowerCmd(uint32_t OPAMP_Selection, FunctionalState NewState);
mbed_official 76:aeb1df146756 165 void OPAMP_PowerRangeSelect(uint32_t OPAMP_PowerRange);
mbed_official 76:aeb1df146756 166
mbed_official 76:aeb1df146756 167 /* Calibration functions ******************************************************/
mbed_official 76:aeb1df146756 168 void OPAMP_OffsetTrimmingModeSelect(uint32_t OPAMP_Trimming);
mbed_official 76:aeb1df146756 169 void OPAMP_OffsetTrimConfig(uint32_t OPAMP_Selection, uint32_t OPAMP_Input, uint32_t OPAMP_TrimValue);
mbed_official 76:aeb1df146756 170 void OPAMP_OffsetTrimLowPowerConfig(uint32_t OPAMP_Selection, uint32_t OPAMP_Input, uint32_t OPAMP_TrimValue);
mbed_official 76:aeb1df146756 171 FlagStatus OPAMP_GetFlagStatus(uint32_t OPAMP_Selection);
mbed_official 76:aeb1df146756 172
mbed_official 76:aeb1df146756 173 #ifdef __cplusplus
mbed_official 76:aeb1df146756 174 }
mbed_official 76:aeb1df146756 175 #endif
mbed_official 76:aeb1df146756 176
mbed_official 76:aeb1df146756 177 #endif /*__STM32L1xx_OPAMP_H */
mbed_official 76:aeb1df146756 178
mbed_official 76:aeb1df146756 179 /**
mbed_official 76:aeb1df146756 180 * @}
mbed_official 76:aeb1df146756 181 */
mbed_official 76:aeb1df146756 182
mbed_official 76:aeb1df146756 183 /**
mbed_official 76:aeb1df146756 184 * @}
mbed_official 76:aeb1df146756 185 */
mbed_official 76:aeb1df146756 186
mbed_official 76:aeb1df146756 187 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/