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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 160:5571c4ff569f 1 /**
Anna Bridge 160:5571c4ff569f 2 ******************************************************************************
Anna Bridge 160:5571c4ff569f 3 * @file stm32f4xx_hal_fmpi2c_ex.h
Anna Bridge 160:5571c4ff569f 4 * @author MCD Application Team
Anna Bridge 160:5571c4ff569f 5 * @brief Header file of FMPI2C HAL Extended module.
Anna Bridge 160:5571c4ff569f 6 ******************************************************************************
Anna Bridge 160:5571c4ff569f 7 * @attention
Anna Bridge 160:5571c4ff569f 8 *
Anna Bridge 160:5571c4ff569f 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
Anna Bridge 160:5571c4ff569f 10 *
Anna Bridge 160:5571c4ff569f 11 * Redistribution and use in source and binary forms, with or without modification,
Anna Bridge 160:5571c4ff569f 12 * are permitted provided that the following conditions are met:
Anna Bridge 160:5571c4ff569f 13 * 1. Redistributions of source code must retain the above copyright notice,
Anna Bridge 160:5571c4ff569f 14 * this list of conditions and the following disclaimer.
Anna Bridge 160:5571c4ff569f 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
Anna Bridge 160:5571c4ff569f 16 * this list of conditions and the following disclaimer in the documentation
Anna Bridge 160:5571c4ff569f 17 * and/or other materials provided with the distribution.
Anna Bridge 160:5571c4ff569f 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Anna Bridge 160:5571c4ff569f 19 * may be used to endorse or promote products derived from this software
Anna Bridge 160:5571c4ff569f 20 * without specific prior written permission.
Anna Bridge 160:5571c4ff569f 21 *
Anna Bridge 160:5571c4ff569f 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Anna Bridge 160:5571c4ff569f 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Anna Bridge 160:5571c4ff569f 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Anna Bridge 160:5571c4ff569f 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Anna Bridge 160:5571c4ff569f 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Anna Bridge 160:5571c4ff569f 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Anna Bridge 160:5571c4ff569f 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Anna Bridge 160:5571c4ff569f 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Anna Bridge 160:5571c4ff569f 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Anna Bridge 160:5571c4ff569f 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Anna Bridge 160:5571c4ff569f 32 *
Anna Bridge 160:5571c4ff569f 33 ******************************************************************************
Anna Bridge 160:5571c4ff569f 34 */
Anna Bridge 160:5571c4ff569f 35
Anna Bridge 160:5571c4ff569f 36 /* Define to prevent recursive inclusion -------------------------------------*/
Anna Bridge 160:5571c4ff569f 37 #ifndef __STM32F4xx_HAL_FMPI2C_EX_H
Anna Bridge 160:5571c4ff569f 38 #define __STM32F4xx_HAL_FMPI2C_EX_H
Anna Bridge 160:5571c4ff569f 39
Anna Bridge 160:5571c4ff569f 40 #ifdef __cplusplus
AnnaBridge 163:e59c8e839560 41 extern "C" {
Anna Bridge 160:5571c4ff569f 42 #endif
Anna Bridge 160:5571c4ff569f 43
Anna Bridge 160:5571c4ff569f 44 #if defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F446xx) || defined(STM32F412Zx) ||\
Anna Bridge 160:5571c4ff569f 45 defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx)
Anna Bridge 160:5571c4ff569f 46
Anna Bridge 160:5571c4ff569f 47 /* Includes ------------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 48 #include "stm32f4xx_hal_def.h"
Anna Bridge 160:5571c4ff569f 49
Anna Bridge 160:5571c4ff569f 50 /** @addtogroup STM32F4xx_HAL_Driver
Anna Bridge 160:5571c4ff569f 51 * @{
Anna Bridge 160:5571c4ff569f 52 */
Anna Bridge 160:5571c4ff569f 53
Anna Bridge 160:5571c4ff569f 54 /** @addtogroup FMPI2CEx
Anna Bridge 160:5571c4ff569f 55 * @{
AnnaBridge 163:e59c8e839560 56 */
Anna Bridge 160:5571c4ff569f 57
Anna Bridge 160:5571c4ff569f 58 /* Exported types ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 59 /* Exported constants --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 60
Anna Bridge 160:5571c4ff569f 61 /** @defgroup FMPI2CEx_Exported_Constants FMPI2C Extended Exported Constants
Anna Bridge 160:5571c4ff569f 62 * @{
Anna Bridge 160:5571c4ff569f 63 */
Anna Bridge 160:5571c4ff569f 64
Anna Bridge 160:5571c4ff569f 65 /** @defgroup FMPI2CEx_Analog_Filter FMPI2C Extended Analog Filter
Anna Bridge 160:5571c4ff569f 66 * @{
Anna Bridge 160:5571c4ff569f 67 */
AnnaBridge 163:e59c8e839560 68 #define FMPI2C_ANALOGFILTER_ENABLE 0x00000000U
AnnaBridge 163:e59c8e839560 69 #define FMPI2C_ANALOGFILTER_DISABLE FMPI2C_CR1_ANFOFF
Anna Bridge 160:5571c4ff569f 70 /**
Anna Bridge 160:5571c4ff569f 71 * @}
Anna Bridge 160:5571c4ff569f 72 */
Anna Bridge 160:5571c4ff569f 73
Anna Bridge 160:5571c4ff569f 74 /** @defgroup FMPI2CEx_FastModePlus FMPI2C Extended Fast Mode Plus
Anna Bridge 160:5571c4ff569f 75 * @{
Anna Bridge 160:5571c4ff569f 76 */
Anna Bridge 160:5571c4ff569f 77 #define FMPI2C_FASTMODEPLUS_SCL SYSCFG_CFGR_FMPI2C1_SCL /*!< Enable Fast Mode Plus on FMPI2C1 SCL pins */
Anna Bridge 160:5571c4ff569f 78 #define FMPI2C_FASTMODEPLUS_SDA SYSCFG_CFGR_FMPI2C1_SDA /*!< Enable Fast Mode Plus on FMPI2C1 SDA pins */
Anna Bridge 160:5571c4ff569f 79 /**
Anna Bridge 160:5571c4ff569f 80 * @}
Anna Bridge 160:5571c4ff569f 81 */
Anna Bridge 160:5571c4ff569f 82
Anna Bridge 160:5571c4ff569f 83 /**
Anna Bridge 160:5571c4ff569f 84 * @}
AnnaBridge 163:e59c8e839560 85 */
AnnaBridge 163:e59c8e839560 86
Anna Bridge 160:5571c4ff569f 87 /* Exported macro ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 88 /* Exported functions --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 89
Anna Bridge 160:5571c4ff569f 90 /** @addtogroup FMPI2CEx_Exported_Functions FMPI2C Extended Exported Functions
Anna Bridge 160:5571c4ff569f 91 * @{
Anna Bridge 160:5571c4ff569f 92 */
Anna Bridge 160:5571c4ff569f 93
Anna Bridge 160:5571c4ff569f 94 /** @addtogroup FMPI2CEx_Exported_Functions_Group1 Extended features functions
Anna Bridge 160:5571c4ff569f 95 * @brief Extended features functions
Anna Bridge 160:5571c4ff569f 96 * @{
Anna Bridge 160:5571c4ff569f 97 */
Anna Bridge 160:5571c4ff569f 98
Anna Bridge 160:5571c4ff569f 99 /* Peripheral Control functions ************************************************/
Anna Bridge 160:5571c4ff569f 100 HAL_StatusTypeDef HAL_FMPI2CEx_ConfigAnalogFilter(FMPI2C_HandleTypeDef *hfmpi2c, uint32_t AnalogFilter);
Anna Bridge 160:5571c4ff569f 101 HAL_StatusTypeDef HAL_FMPI2CEx_ConfigDigitalFilter(FMPI2C_HandleTypeDef *hfmpi2c, uint32_t DigitalFilter);
Anna Bridge 160:5571c4ff569f 102 void HAL_FMPI2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus);
Anna Bridge 160:5571c4ff569f 103 void HAL_FMPI2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus);
Anna Bridge 160:5571c4ff569f 104
Anna Bridge 160:5571c4ff569f 105 /* Private constants ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 106 /** @defgroup FMPI2CEx_Private_Constants FMPI2C Extended Private Constants
Anna Bridge 160:5571c4ff569f 107 * @{
Anna Bridge 160:5571c4ff569f 108 */
Anna Bridge 160:5571c4ff569f 109
Anna Bridge 160:5571c4ff569f 110 /**
Anna Bridge 160:5571c4ff569f 111 * @}
AnnaBridge 163:e59c8e839560 112 */
Anna Bridge 160:5571c4ff569f 113
Anna Bridge 160:5571c4ff569f 114 /* Private macros ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 115 /** @defgroup FMPI2CEx_Private_Macro FMPI2C Extended Private Macros
Anna Bridge 160:5571c4ff569f 116 * @{
Anna Bridge 160:5571c4ff569f 117 */
Anna Bridge 160:5571c4ff569f 118 #define IS_FMPI2C_ANALOG_FILTER(FILTER) (((FILTER) == FMPI2C_ANALOGFILTER_ENABLE) || \
Anna Bridge 160:5571c4ff569f 119 ((FILTER) == FMPI2C_ANALOGFILTER_DISABLE))
Anna Bridge 160:5571c4ff569f 120
Anna Bridge 160:5571c4ff569f 121 #define IS_FMPI2C_DIGITAL_FILTER(FILTER) ((FILTER) <= 0x0000000FU)
Anna Bridge 160:5571c4ff569f 122
Anna Bridge 160:5571c4ff569f 123 #define IS_FMPI2C_FASTMODEPLUS(__CONFIG__) ((((__CONFIG__) & (FMPI2C_FASTMODEPLUS_SCL)) == FMPI2C_FASTMODEPLUS_SCL) || \
Anna Bridge 160:5571c4ff569f 124 (((__CONFIG__) & (FMPI2C_FASTMODEPLUS_SDA)) == FMPI2C_FASTMODEPLUS_SDA))
Anna Bridge 160:5571c4ff569f 125 /**
Anna Bridge 160:5571c4ff569f 126 * @}
Anna Bridge 160:5571c4ff569f 127 */
Anna Bridge 160:5571c4ff569f 128
Anna Bridge 160:5571c4ff569f 129 /* Private Functions ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 130 /** @defgroup FMPI2CEx_Private_Functions FMPI2C Extended Private Functions
Anna Bridge 160:5571c4ff569f 131 * @{
Anna Bridge 160:5571c4ff569f 132 */
Anna Bridge 160:5571c4ff569f 133 /* Private functions are defined in stm32f4xx_hal_fmpi2c_ex.c file */
Anna Bridge 160:5571c4ff569f 134 /**
Anna Bridge 160:5571c4ff569f 135 * @}
Anna Bridge 160:5571c4ff569f 136 */
Anna Bridge 160:5571c4ff569f 137
Anna Bridge 160:5571c4ff569f 138 /**
Anna Bridge 160:5571c4ff569f 139 * @}
Anna Bridge 160:5571c4ff569f 140 */
Anna Bridge 160:5571c4ff569f 141
Anna Bridge 160:5571c4ff569f 142 /**
Anna Bridge 160:5571c4ff569f 143 * @}
Anna Bridge 160:5571c4ff569f 144 */
Anna Bridge 160:5571c4ff569f 145
Anna Bridge 160:5571c4ff569f 146 /**
Anna Bridge 160:5571c4ff569f 147 * @}
Anna Bridge 160:5571c4ff569f 148 */
Anna Bridge 160:5571c4ff569f 149
Anna Bridge 160:5571c4ff569f 150 /**
Anna Bridge 160:5571c4ff569f 151 * @}
Anna Bridge 160:5571c4ff569f 152 */
Anna Bridge 160:5571c4ff569f 153 #endif /* STM32F410xx || STM32F446xx || STM32F412Zx || STM32F412Vx || STM32F412Rx || STM32F412Cx || STM32F413xx || STM32F423xx */
Anna Bridge 160:5571c4ff569f 154 #ifdef __cplusplus
Anna Bridge 160:5571c4ff569f 155 }
Anna Bridge 160:5571c4ff569f 156 #endif
Anna Bridge 160:5571c4ff569f 157
Anna Bridge 160:5571c4ff569f 158 #endif /* __STM32F4xx_HAL_FMPI2C_EX_H */
Anna Bridge 160:5571c4ff569f 159
Anna Bridge 160:5571c4ff569f 160 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/