mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
shaoziyang
Date:
Sat Sep 13 14:25:46 2014 +0000
Revision:
323:9e901b0a5aa1
Parent:
181:a4cbdfbbd2f4
test with CLOCK_SETUP = 0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 181:a4cbdfbbd2f4 1 /**
mbed_official 181:a4cbdfbbd2f4 2 ******************************************************************************
mbed_official 181:a4cbdfbbd2f4 3 * @file stm32l0xx_hal_i2c_ex.c
mbed_official 181:a4cbdfbbd2f4 4 * @author MCD Application Team
mbed_official 181:a4cbdfbbd2f4 5 * @version V1.0.0
mbed_official 181:a4cbdfbbd2f4 6 * @date 22-April-2014
mbed_official 181:a4cbdfbbd2f4 7 * @brief Extended I2C HAL module driver.
mbed_official 181:a4cbdfbbd2f4 8 *
mbed_official 181:a4cbdfbbd2f4 9 * This file provides firmware functions to manage the following
mbed_official 181:a4cbdfbbd2f4 10 * functionalities of the Inter Integrated Circuit (I2C) peripheral:
mbed_official 181:a4cbdfbbd2f4 11 * + Extended Control methods
mbed_official 181:a4cbdfbbd2f4 12 *
mbed_official 181:a4cbdfbbd2f4 13 @verbatim
mbed_official 181:a4cbdfbbd2f4 14 ==============================================================================
mbed_official 181:a4cbdfbbd2f4 15 ##### I2C peripheral extended features #####
mbed_official 181:a4cbdfbbd2f4 16 ==============================================================================
mbed_official 181:a4cbdfbbd2f4 17
mbed_official 181:a4cbdfbbd2f4 18 [..] Comparing to other previous devices, the I2C interface for STM32L0XX
mbed_official 181:a4cbdfbbd2f4 19 devices contains the following additional features
mbed_official 181:a4cbdfbbd2f4 20
mbed_official 181:a4cbdfbbd2f4 21 (+) Possibility to disable or enable Analog Noise Filter
mbed_official 181:a4cbdfbbd2f4 22 (+) Use of a configured Digital Noise Filter
mbed_official 181:a4cbdfbbd2f4 23 (+) Disable or enable wakeup from Stop mode
mbed_official 181:a4cbdfbbd2f4 24
mbed_official 181:a4cbdfbbd2f4 25 ##### How to use this driver #####
mbed_official 181:a4cbdfbbd2f4 26 ==============================================================================
mbed_official 181:a4cbdfbbd2f4 27 [..] This driver provides functions to configure Noise Filter
mbed_official 181:a4cbdfbbd2f4 28
mbed_official 181:a4cbdfbbd2f4 29 @endverbatim
mbed_official 181:a4cbdfbbd2f4 30 ******************************************************************************
mbed_official 181:a4cbdfbbd2f4 31 * @attention
mbed_official 181:a4cbdfbbd2f4 32 *
mbed_official 181:a4cbdfbbd2f4 33 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 181:a4cbdfbbd2f4 34 *
mbed_official 181:a4cbdfbbd2f4 35 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 181:a4cbdfbbd2f4 36 * are permitted provided that the following conditions are met:
mbed_official 181:a4cbdfbbd2f4 37 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 181:a4cbdfbbd2f4 38 * this list of conditions and the following disclaimer.
mbed_official 181:a4cbdfbbd2f4 39 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 181:a4cbdfbbd2f4 40 * this list of conditions and the following disclaimer in the documentation
mbed_official 181:a4cbdfbbd2f4 41 * and/or other materials provided with the distribution.
mbed_official 181:a4cbdfbbd2f4 42 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 181:a4cbdfbbd2f4 43 * may be used to endorse or promote products derived from this software
mbed_official 181:a4cbdfbbd2f4 44 * without specific prior written permission.
mbed_official 181:a4cbdfbbd2f4 45 *
mbed_official 181:a4cbdfbbd2f4 46 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 181:a4cbdfbbd2f4 47 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 181:a4cbdfbbd2f4 48 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 181:a4cbdfbbd2f4 49 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 181:a4cbdfbbd2f4 50 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 181:a4cbdfbbd2f4 51 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 181:a4cbdfbbd2f4 52 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 181:a4cbdfbbd2f4 53 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 181:a4cbdfbbd2f4 54 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 181:a4cbdfbbd2f4 55 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 181:a4cbdfbbd2f4 56 *
mbed_official 181:a4cbdfbbd2f4 57 ******************************************************************************
mbed_official 181:a4cbdfbbd2f4 58 */
mbed_official 181:a4cbdfbbd2f4 59
mbed_official 181:a4cbdfbbd2f4 60 /* Includes ------------------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 61 #include "stm32l0xx_hal.h"
mbed_official 181:a4cbdfbbd2f4 62
mbed_official 181:a4cbdfbbd2f4 63 /** @addtogroup STM32L0xx_HAL_Driver
mbed_official 181:a4cbdfbbd2f4 64 * @{
mbed_official 181:a4cbdfbbd2f4 65 */
mbed_official 181:a4cbdfbbd2f4 66
mbed_official 181:a4cbdfbbd2f4 67 /** @defgroup I2CEx
mbed_official 181:a4cbdfbbd2f4 68 * @brief I2C HAL module driver
mbed_official 181:a4cbdfbbd2f4 69 * @{
mbed_official 181:a4cbdfbbd2f4 70 */
mbed_official 181:a4cbdfbbd2f4 71
mbed_official 181:a4cbdfbbd2f4 72 #ifdef HAL_I2C_MODULE_ENABLED
mbed_official 181:a4cbdfbbd2f4 73
mbed_official 181:a4cbdfbbd2f4 74 /* Private typedef -----------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 75 /* Private define ------------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 76 /* Private macro -------------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 77 /* Private variables ---------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 78 /* Private function prototypes -----------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 79 /* Private functions ---------------------------------------------------------*/
mbed_official 181:a4cbdfbbd2f4 80
mbed_official 181:a4cbdfbbd2f4 81 /** @defgroup I2CEX_Private_Functions
mbed_official 181:a4cbdfbbd2f4 82 * @{
mbed_official 181:a4cbdfbbd2f4 83 */
mbed_official 181:a4cbdfbbd2f4 84
mbed_official 181:a4cbdfbbd2f4 85
mbed_official 181:a4cbdfbbd2f4 86 /** @defgroup I2CEX_Group1 Peripheral Control methods
mbed_official 181:a4cbdfbbd2f4 87 * @brief management functions
mbed_official 181:a4cbdfbbd2f4 88 *
mbed_official 181:a4cbdfbbd2f4 89 @verbatim
mbed_official 181:a4cbdfbbd2f4 90 ===============================================================================
mbed_official 181:a4cbdfbbd2f4 91 ##### Peripheral Control methods #####
mbed_official 181:a4cbdfbbd2f4 92 ===============================================================================
mbed_official 181:a4cbdfbbd2f4 93 [..] This section provides functions allowing to:
mbed_official 181:a4cbdfbbd2f4 94 (+) Configure Noise Filters
mbed_official 181:a4cbdfbbd2f4 95
mbed_official 181:a4cbdfbbd2f4 96 @endverbatim
mbed_official 181:a4cbdfbbd2f4 97 * @{
mbed_official 181:a4cbdfbbd2f4 98 */
mbed_official 181:a4cbdfbbd2f4 99
mbed_official 181:a4cbdfbbd2f4 100 /**
mbed_official 181:a4cbdfbbd2f4 101 * @brief Configures I2C Analog noise filter.
mbed_official 181:a4cbdfbbd2f4 102 * @param hi2c : pointer to a I2C_HandleTypeDef structure that contains
mbed_official 181:a4cbdfbbd2f4 103 * the configuration information for the specified I2Cx peripheral.
mbed_official 181:a4cbdfbbd2f4 104 * @param AnalogFilter : new state of the Analog filter.
mbed_official 181:a4cbdfbbd2f4 105 * @retval HAL status
mbed_official 181:a4cbdfbbd2f4 106 */
mbed_official 181:a4cbdfbbd2f4 107 HAL_StatusTypeDef HAL_I2CEx_AnalogFilter_Config(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter)
mbed_official 181:a4cbdfbbd2f4 108 {
mbed_official 181:a4cbdfbbd2f4 109 /* Check the parameters */
mbed_official 181:a4cbdfbbd2f4 110 assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
mbed_official 181:a4cbdfbbd2f4 111 assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter));
mbed_official 181:a4cbdfbbd2f4 112
mbed_official 181:a4cbdfbbd2f4 113 if((hi2c->State == HAL_I2C_STATE_BUSY) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_RX)
mbed_official 181:a4cbdfbbd2f4 114 || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_RX))
mbed_official 181:a4cbdfbbd2f4 115 {
mbed_official 181:a4cbdfbbd2f4 116 return HAL_BUSY;
mbed_official 181:a4cbdfbbd2f4 117 }
mbed_official 181:a4cbdfbbd2f4 118
mbed_official 181:a4cbdfbbd2f4 119 /* Process Locked */
mbed_official 181:a4cbdfbbd2f4 120 __HAL_LOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 121
mbed_official 181:a4cbdfbbd2f4 122 hi2c->State = HAL_I2C_STATE_BUSY;
mbed_official 181:a4cbdfbbd2f4 123
mbed_official 181:a4cbdfbbd2f4 124 /* Disable the selected I2C peripheral */
mbed_official 181:a4cbdfbbd2f4 125 __HAL_I2C_DISABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 126
mbed_official 181:a4cbdfbbd2f4 127 /* Reset I2Cx ANOFF bit */
mbed_official 181:a4cbdfbbd2f4 128 hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF);
mbed_official 181:a4cbdfbbd2f4 129
mbed_official 181:a4cbdfbbd2f4 130 /* Set analog filter bit*/
mbed_official 181:a4cbdfbbd2f4 131 hi2c->Instance->CR1 |= AnalogFilter;
mbed_official 181:a4cbdfbbd2f4 132
mbed_official 181:a4cbdfbbd2f4 133 __HAL_I2C_ENABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 134
mbed_official 181:a4cbdfbbd2f4 135 hi2c->State = HAL_I2C_STATE_READY;
mbed_official 181:a4cbdfbbd2f4 136
mbed_official 181:a4cbdfbbd2f4 137 /* Process Unlocked */
mbed_official 181:a4cbdfbbd2f4 138 __HAL_UNLOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 139
mbed_official 181:a4cbdfbbd2f4 140 return HAL_OK;
mbed_official 181:a4cbdfbbd2f4 141 }
mbed_official 181:a4cbdfbbd2f4 142
mbed_official 181:a4cbdfbbd2f4 143 /**
mbed_official 181:a4cbdfbbd2f4 144 * @brief Configures I2C Digital noise filter.
mbed_official 181:a4cbdfbbd2f4 145 * @param hi2c : pointer to a I2C_HandleTypeDef structure that contains
mbed_official 181:a4cbdfbbd2f4 146 * the configuration information for the specified I2Cx peripheral.
mbed_official 181:a4cbdfbbd2f4 147 * @param DigitalFilter : Coefficient of digital noise filter between 0x00 and 0x0F.
mbed_official 181:a4cbdfbbd2f4 148 * @retval HAL status
mbed_official 181:a4cbdfbbd2f4 149 */
mbed_official 181:a4cbdfbbd2f4 150 HAL_StatusTypeDef HAL_I2CEx_DigitalFilter_Config(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter)
mbed_official 181:a4cbdfbbd2f4 151 {
mbed_official 181:a4cbdfbbd2f4 152 uint32_t tmpreg = 0;
mbed_official 181:a4cbdfbbd2f4 153
mbed_official 181:a4cbdfbbd2f4 154 /* Check the parameters */
mbed_official 181:a4cbdfbbd2f4 155 assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
mbed_official 181:a4cbdfbbd2f4 156 assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter));
mbed_official 181:a4cbdfbbd2f4 157
mbed_official 181:a4cbdfbbd2f4 158 if((hi2c->State == HAL_I2C_STATE_BUSY) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_RX)
mbed_official 181:a4cbdfbbd2f4 159 || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_RX))
mbed_official 181:a4cbdfbbd2f4 160 {
mbed_official 181:a4cbdfbbd2f4 161 return HAL_BUSY;
mbed_official 181:a4cbdfbbd2f4 162 }
mbed_official 181:a4cbdfbbd2f4 163
mbed_official 181:a4cbdfbbd2f4 164 /* Process Locked */
mbed_official 181:a4cbdfbbd2f4 165 __HAL_LOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 166
mbed_official 181:a4cbdfbbd2f4 167 hi2c->State = HAL_I2C_STATE_BUSY;
mbed_official 181:a4cbdfbbd2f4 168
mbed_official 181:a4cbdfbbd2f4 169 /* Disable the selected I2C peripheral */
mbed_official 181:a4cbdfbbd2f4 170 __HAL_I2C_DISABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 171
mbed_official 181:a4cbdfbbd2f4 172 /* Get the old register value */
mbed_official 181:a4cbdfbbd2f4 173 tmpreg = hi2c->Instance->CR1;
mbed_official 181:a4cbdfbbd2f4 174
mbed_official 181:a4cbdfbbd2f4 175 /* Reset I2Cx DNF bits [11:8] */
mbed_official 181:a4cbdfbbd2f4 176 tmpreg &= ~(I2C_CR1_DFN);
mbed_official 181:a4cbdfbbd2f4 177
mbed_official 181:a4cbdfbbd2f4 178 /* Set I2Cx DNF coefficient */
mbed_official 181:a4cbdfbbd2f4 179 tmpreg |= DigitalFilter << 8;
mbed_official 181:a4cbdfbbd2f4 180
mbed_official 181:a4cbdfbbd2f4 181 /* Store the new register value */
mbed_official 181:a4cbdfbbd2f4 182 hi2c->Instance->CR1 = tmpreg;
mbed_official 181:a4cbdfbbd2f4 183
mbed_official 181:a4cbdfbbd2f4 184 __HAL_I2C_ENABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 185
mbed_official 181:a4cbdfbbd2f4 186 hi2c->State = HAL_I2C_STATE_READY;
mbed_official 181:a4cbdfbbd2f4 187
mbed_official 181:a4cbdfbbd2f4 188 /* Process Unlocked */
mbed_official 181:a4cbdfbbd2f4 189 __HAL_UNLOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 190
mbed_official 181:a4cbdfbbd2f4 191 return HAL_OK;
mbed_official 181:a4cbdfbbd2f4 192 }
mbed_official 181:a4cbdfbbd2f4 193
mbed_official 181:a4cbdfbbd2f4 194 /**
mbed_official 181:a4cbdfbbd2f4 195 * @brief Enables I2C wakeup from stop mode.
mbed_official 181:a4cbdfbbd2f4 196 * @param hi2c : pointer to a I2C_HandleTypeDef structure that contains
mbed_official 181:a4cbdfbbd2f4 197 * the configuration information for the specified I2Cx peripheral.
mbed_official 181:a4cbdfbbd2f4 198 * @retval HAL status
mbed_official 181:a4cbdfbbd2f4 199 */
mbed_official 181:a4cbdfbbd2f4 200 HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp (I2C_HandleTypeDef *hi2c)
mbed_official 181:a4cbdfbbd2f4 201 {
mbed_official 181:a4cbdfbbd2f4 202 /* Check the parameters */
mbed_official 181:a4cbdfbbd2f4 203 assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
mbed_official 181:a4cbdfbbd2f4 204
mbed_official 181:a4cbdfbbd2f4 205 if((hi2c->State == HAL_I2C_STATE_BUSY) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_RX)
mbed_official 181:a4cbdfbbd2f4 206 || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_RX))
mbed_official 181:a4cbdfbbd2f4 207 {
mbed_official 181:a4cbdfbbd2f4 208 return HAL_BUSY;
mbed_official 181:a4cbdfbbd2f4 209 }
mbed_official 181:a4cbdfbbd2f4 210
mbed_official 181:a4cbdfbbd2f4 211 /* Process Locked */
mbed_official 181:a4cbdfbbd2f4 212 __HAL_LOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 213
mbed_official 181:a4cbdfbbd2f4 214 hi2c->State = HAL_I2C_STATE_BUSY;
mbed_official 181:a4cbdfbbd2f4 215
mbed_official 181:a4cbdfbbd2f4 216 /* Disable the selected I2C peripheral */
mbed_official 181:a4cbdfbbd2f4 217 __HAL_I2C_DISABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 218
mbed_official 181:a4cbdfbbd2f4 219 /* Enable wakeup from stop mode */
mbed_official 181:a4cbdfbbd2f4 220 hi2c->Instance->CR1 |= I2C_CR1_WUPEN;
mbed_official 181:a4cbdfbbd2f4 221
mbed_official 181:a4cbdfbbd2f4 222 __HAL_I2C_ENABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 223
mbed_official 181:a4cbdfbbd2f4 224 hi2c->State = HAL_I2C_STATE_READY;
mbed_official 181:a4cbdfbbd2f4 225
mbed_official 181:a4cbdfbbd2f4 226 /* Process Unlocked */
mbed_official 181:a4cbdfbbd2f4 227 __HAL_UNLOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 228
mbed_official 181:a4cbdfbbd2f4 229 return HAL_OK;
mbed_official 181:a4cbdfbbd2f4 230 }
mbed_official 181:a4cbdfbbd2f4 231
mbed_official 181:a4cbdfbbd2f4 232
mbed_official 181:a4cbdfbbd2f4 233 /**
mbed_official 181:a4cbdfbbd2f4 234 * @brief Disables I2C wakeup from stop mode.
mbed_official 181:a4cbdfbbd2f4 235 * @param hi2c : pointer to a I2C_HandleTypeDef structure that contains
mbed_official 181:a4cbdfbbd2f4 236 * the configuration information for the specified I2Cx peripheral.
mbed_official 181:a4cbdfbbd2f4 237 * @retval HAL status
mbed_official 181:a4cbdfbbd2f4 238 */
mbed_official 181:a4cbdfbbd2f4 239 HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp (I2C_HandleTypeDef *hi2c)
mbed_official 181:a4cbdfbbd2f4 240 {
mbed_official 181:a4cbdfbbd2f4 241 /* Check the parameters */
mbed_official 181:a4cbdfbbd2f4 242 assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
mbed_official 181:a4cbdfbbd2f4 243
mbed_official 181:a4cbdfbbd2f4 244 if((hi2c->State == HAL_I2C_STATE_BUSY) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_MASTER_BUSY_RX)
mbed_official 181:a4cbdfbbd2f4 245 || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_TX) || (hi2c->State == HAL_I2C_STATE_SLAVE_BUSY_RX))
mbed_official 181:a4cbdfbbd2f4 246 {
mbed_official 181:a4cbdfbbd2f4 247 return HAL_BUSY;
mbed_official 181:a4cbdfbbd2f4 248 }
mbed_official 181:a4cbdfbbd2f4 249
mbed_official 181:a4cbdfbbd2f4 250 /* Process Locked */
mbed_official 181:a4cbdfbbd2f4 251 __HAL_LOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 252
mbed_official 181:a4cbdfbbd2f4 253 hi2c->State = HAL_I2C_STATE_BUSY;
mbed_official 181:a4cbdfbbd2f4 254
mbed_official 181:a4cbdfbbd2f4 255 /* Disable the selected I2C peripheral */
mbed_official 181:a4cbdfbbd2f4 256 __HAL_I2C_DISABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 257
mbed_official 181:a4cbdfbbd2f4 258 /* Enable wakeup from stop mode */
mbed_official 181:a4cbdfbbd2f4 259 hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN);
mbed_official 181:a4cbdfbbd2f4 260
mbed_official 181:a4cbdfbbd2f4 261 __HAL_I2C_ENABLE(hi2c);
mbed_official 181:a4cbdfbbd2f4 262
mbed_official 181:a4cbdfbbd2f4 263 hi2c->State = HAL_I2C_STATE_READY;
mbed_official 181:a4cbdfbbd2f4 264
mbed_official 181:a4cbdfbbd2f4 265 /* Process Unlocked */
mbed_official 181:a4cbdfbbd2f4 266 __HAL_UNLOCK(hi2c);
mbed_official 181:a4cbdfbbd2f4 267
mbed_official 181:a4cbdfbbd2f4 268 return HAL_OK;
mbed_official 181:a4cbdfbbd2f4 269 }
mbed_official 181:a4cbdfbbd2f4 270
mbed_official 181:a4cbdfbbd2f4 271 /**
mbed_official 181:a4cbdfbbd2f4 272 * @}
mbed_official 181:a4cbdfbbd2f4 273 */
mbed_official 181:a4cbdfbbd2f4 274
mbed_official 181:a4cbdfbbd2f4 275 /**
mbed_official 181:a4cbdfbbd2f4 276 * @}
mbed_official 181:a4cbdfbbd2f4 277 */
mbed_official 181:a4cbdfbbd2f4 278
mbed_official 181:a4cbdfbbd2f4 279 #endif /* HAL_I2C_MODULE_ENABLED */
mbed_official 181:a4cbdfbbd2f4 280 /**
mbed_official 181:a4cbdfbbd2f4 281 * @}
mbed_official 181:a4cbdfbbd2f4 282 */
mbed_official 181:a4cbdfbbd2f4 283
mbed_official 181:a4cbdfbbd2f4 284 /**
mbed_official 181:a4cbdfbbd2f4 285 * @}
mbed_official 181:a4cbdfbbd2f4 286 */
mbed_official 181:a4cbdfbbd2f4 287
mbed_official 181:a4cbdfbbd2f4 288 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/