18#if defined(USE_FULL_LL_DRIVER)
20#if defined(FMPI2C_CR1_PE)
25#include "stm32_assert.h"
27#define assert_param(expr) ((void)0U)
48#define IS_LL_FMPI2C_PERIPHERAL_MODE(__VALUE__) (((__VALUE__) == LL_FMPI2C_MODE_I2C) || \
49 ((__VALUE__) == LL_FMPI2C_MODE_SMBUS_HOST) || \
50 ((__VALUE__) == LL_FMPI2C_MODE_SMBUS_DEVICE) || \
51 ((__VALUE__) == LL_FMPI2C_MODE_SMBUS_DEVICE_ARP))
53#define IS_LL_FMPI2C_ANALOG_FILTER(__VALUE__) (((__VALUE__) == LL_FMPI2C_ANALOGFILTER_ENABLE) || \
54 ((__VALUE__) == LL_FMPI2C_ANALOGFILTER_DISABLE))
56#define IS_LL_FMPI2C_DIGITAL_FILTER(__VALUE__) ((__VALUE__) <= 0x0000000FU)
58#define IS_LL_FMPI2C_OWN_ADDRESS1(__VALUE__) ((__VALUE__) <= 0x000003FFU)
60#define IS_LL_FMPI2C_TYPE_ACKNOWLEDGE(__VALUE__) (((__VALUE__) == LL_FMPI2C_ACK) || \
61 ((__VALUE__) == LL_FMPI2C_NACK))
63#define IS_LL_FMPI2C_OWN_ADDRSIZE(__VALUE__) (((__VALUE__) == LL_FMPI2C_OWNADDRESS1_7BIT) || \
64 ((__VALUE__) == LL_FMPI2C_OWNADDRESS1_10BIT))
87ErrorStatus LL_FMPI2C_DeInit(
const FMPI2C_TypeDef *FMPI2Cx)
89 ErrorStatus status = SUCCESS;
94 if (FMPI2Cx == FMPI2C1)
97 LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_FMPI2C1);
100 LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_FMPI2C1);
118ErrorStatus LL_FMPI2C_Init(FMPI2C_TypeDef *FMPI2Cx,
const LL_FMPI2C_InitTypeDef *FMPI2C_InitStruct)
124 assert_param(IS_LL_FMPI2C_PERIPHERAL_MODE(FMPI2C_InitStruct->PeripheralMode));
125 assert_param(IS_LL_FMPI2C_ANALOG_FILTER(FMPI2C_InitStruct->AnalogFilter));
126 assert_param(IS_LL_FMPI2C_DIGITAL_FILTER(FMPI2C_InitStruct->DigitalFilter));
127 assert_param(IS_LL_FMPI2C_OWN_ADDRESS1(FMPI2C_InitStruct->OwnAddress1));
128 assert_param(IS_LL_FMPI2C_TYPE_ACKNOWLEDGE(FMPI2C_InitStruct->TypeAcknowledge));
129 assert_param(IS_LL_FMPI2C_OWN_ADDRSIZE(FMPI2C_InitStruct->OwnAddrSize));
132 LL_FMPI2C_Disable(FMPI2Cx);
139 LL_FMPI2C_ConfigFilters(FMPI2Cx, FMPI2C_InitStruct->AnalogFilter, FMPI2C_InitStruct->DigitalFilter);
146 LL_FMPI2C_SetTiming(FMPI2Cx, FMPI2C_InitStruct->Timing);
149 LL_FMPI2C_Enable(FMPI2Cx);
156 LL_FMPI2C_DisableOwnAddress1(FMPI2Cx);
157 LL_FMPI2C_SetOwnAddress1(FMPI2Cx, FMPI2C_InitStruct->OwnAddress1, FMPI2C_InitStruct->OwnAddrSize);
160 if (FMPI2C_InitStruct->OwnAddress1 != 0U)
162 LL_FMPI2C_EnableOwnAddress1(FMPI2Cx);
169 LL_FMPI2C_SetMode(FMPI2Cx, FMPI2C_InitStruct->PeripheralMode);
176 LL_FMPI2C_AcknowledgeNextData(FMPI2Cx, FMPI2C_InitStruct->TypeAcknowledge);
186void LL_FMPI2C_StructInit(LL_FMPI2C_InitTypeDef *FMPI2C_InitStruct)
189 FMPI2C_InitStruct->PeripheralMode = LL_FMPI2C_MODE_I2C;
190 FMPI2C_InitStruct->Timing = 0U;
191 FMPI2C_InitStruct->AnalogFilter = LL_FMPI2C_ANALOGFILTER_ENABLE;
192 FMPI2C_InitStruct->DigitalFilter = 0U;
193 FMPI2C_InitStruct->OwnAddress1 = 0U;
194 FMPI2C_InitStruct->TypeAcknowledge = LL_FMPI2C_NACK;
195 FMPI2C_InitStruct->OwnAddrSize = LL_FMPI2C_OWNADDRESS1_7BIT;
#define assert_param(expr)
Header file of BUS LL module.
Header file of FMPI2C LL module.