STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_ll_i2c.h File Reference

Header file of I2C LL module. More...

Go to the source code of this file.

Data Structures

struct  LL_I2C_InitTypeDef
 

Functions

__STATIC_INLINE void LL_I2C_Enable (I2C_TypeDef *I2Cx)
 Enable I2C peripheral (PE = 1). CR1 PE LL_I2C_Enable. More...
 
__STATIC_INLINE void LL_I2C_Disable (I2C_TypeDef *I2Cx)
 Disable I2C peripheral (PE = 0). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabled (I2C_TypeDef *I2Cx)
 Check if the I2C peripheral is enabled or disabled. CR1 PE LL_I2C_IsEnabled. More...
 
__STATIC_INLINE void LL_I2C_ConfigFilters (I2C_TypeDef *I2Cx, uint32_t AnalogFilter, uint32_t DigitalFilter)
 Configure Noise Filters (Analog and Digital). More...
 
__STATIC_INLINE void LL_I2C_SetDigitalFilter (I2C_TypeDef *I2Cx, uint32_t DigitalFilter)
 Configure Digital Noise Filter. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetDigitalFilter (I2C_TypeDef *I2Cx)
 Get the current Digital Noise Filter configuration. CR1 DNF LL_I2C_GetDigitalFilter. More...
 
__STATIC_INLINE void LL_I2C_EnableAnalogFilter (I2C_TypeDef *I2Cx)
 Enable Analog Noise Filter. More...
 
__STATIC_INLINE void LL_I2C_DisableAnalogFilter (I2C_TypeDef *I2Cx)
 Disable Analog Noise Filter. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledAnalogFilter (I2C_TypeDef *I2Cx)
 Check if Analog Noise Filter is enabled or disabled. CR1 ANFOFF LL_I2C_IsEnabledAnalogFilter. More...
 
__STATIC_INLINE void LL_I2C_EnableDMAReq_TX (I2C_TypeDef *I2Cx)
 Enable DMA transmission requests. CR1 TXDMAEN LL_I2C_EnableDMAReq_TX. More...
 
__STATIC_INLINE void LL_I2C_DisableDMAReq_TX (I2C_TypeDef *I2Cx)
 Disable DMA transmission requests. CR1 TXDMAEN LL_I2C_DisableDMAReq_TX. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledDMAReq_TX (I2C_TypeDef *I2Cx)
 Check if DMA transmission requests are enabled or disabled. CR1 TXDMAEN LL_I2C_IsEnabledDMAReq_TX. More...
 
__STATIC_INLINE void LL_I2C_EnableDMAReq_RX (I2C_TypeDef *I2Cx)
 Enable DMA reception requests. CR1 RXDMAEN LL_I2C_EnableDMAReq_RX. More...
 
__STATIC_INLINE void LL_I2C_DisableDMAReq_RX (I2C_TypeDef *I2Cx)
 Disable DMA reception requests. CR1 RXDMAEN LL_I2C_DisableDMAReq_RX. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledDMAReq_RX (I2C_TypeDef *I2Cx)
 Check if DMA reception requests are enabled or disabled. CR1 RXDMAEN LL_I2C_IsEnabledDMAReq_RX. More...
 
__STATIC_INLINE uint32_t LL_I2C_DMA_GetRegAddr (I2C_TypeDef *I2Cx, uint32_t Direction)
 Get the data register address used for DMA transfer TXDR TXDATA LL_I2C_DMA_GetRegAddr
RXDR RXDATA LL_I2C_DMA_GetRegAddr. More...
 
__STATIC_INLINE void LL_I2C_EnableClockStretching (I2C_TypeDef *I2Cx)
 Enable Clock stretching. More...
 
__STATIC_INLINE void LL_I2C_DisableClockStretching (I2C_TypeDef *I2Cx)
 Disable Clock stretching. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledClockStretching (I2C_TypeDef *I2Cx)
 Check if Clock stretching is enabled or disabled. CR1 NOSTRETCH LL_I2C_IsEnabledClockStretching. More...
 
__STATIC_INLINE void LL_I2C_EnableSlaveByteControl (I2C_TypeDef *I2Cx)
 Enable hardware byte control in slave mode. CR1 SBC LL_I2C_EnableSlaveByteControl. More...
 
__STATIC_INLINE void LL_I2C_DisableSlaveByteControl (I2C_TypeDef *I2Cx)
 Disable hardware byte control in slave mode. CR1 SBC LL_I2C_DisableSlaveByteControl. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledSlaveByteControl (I2C_TypeDef *I2Cx)
 Check if hardware byte control in slave mode is enabled or disabled. CR1 SBC LL_I2C_IsEnabledSlaveByteControl. More...
 
__STATIC_INLINE void LL_I2C_EnableWakeUpFromStop (I2C_TypeDef *I2Cx)
 Enable Wakeup from STOP. More...
 
__STATIC_INLINE void LL_I2C_DisableWakeUpFromStop (I2C_TypeDef *I2Cx)
 Disable Wakeup from STOP. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledWakeUpFromStop (I2C_TypeDef *I2Cx)
 Check if Wakeup from STOP is enabled or disabled. More...
 
__STATIC_INLINE void LL_I2C_EnableGeneralCall (I2C_TypeDef *I2Cx)
 Enable General Call. More...
 
__STATIC_INLINE void LL_I2C_DisableGeneralCall (I2C_TypeDef *I2Cx)
 Disable General Call. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledGeneralCall (I2C_TypeDef *I2Cx)
 Check if General Call is enabled or disabled. CR1 GCEN LL_I2C_IsEnabledGeneralCall. More...
 
__STATIC_INLINE void LL_I2C_SetMasterAddressingMode (I2C_TypeDef *I2Cx, uint32_t AddressingMode)
 Configure the Master to operate in 7-bit or 10-bit addressing mode. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetMasterAddressingMode (I2C_TypeDef *I2Cx)
 Get the Master addressing mode. CR2 ADD10 LL_I2C_GetMasterAddressingMode. More...
 
__STATIC_INLINE void LL_I2C_SetOwnAddress1 (I2C_TypeDef *I2Cx, uint32_t OwnAddress1, uint32_t OwnAddrSize)
 Set the Own Address1. OAR1 OA1 LL_I2C_SetOwnAddress1
OAR1 OA1MODE LL_I2C_SetOwnAddress1. More...
 
__STATIC_INLINE void LL_I2C_EnableOwnAddress1 (I2C_TypeDef *I2Cx)
 Enable acknowledge on Own Address1 match address. OAR1 OA1EN LL_I2C_EnableOwnAddress1. More...
 
__STATIC_INLINE void LL_I2C_DisableOwnAddress1 (I2C_TypeDef *I2Cx)
 Disable acknowledge on Own Address1 match address. OAR1 OA1EN LL_I2C_DisableOwnAddress1. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledOwnAddress1 (I2C_TypeDef *I2Cx)
 Check if Own Address1 acknowledge is enabled or disabled. OAR1 OA1EN LL_I2C_IsEnabledOwnAddress1. More...
 
__STATIC_INLINE void LL_I2C_SetOwnAddress2 (I2C_TypeDef *I2Cx, uint32_t OwnAddress2, uint32_t OwnAddrMask)
 Set the 7bits Own Address2. More...
 
__STATIC_INLINE void LL_I2C_EnableOwnAddress2 (I2C_TypeDef *I2Cx)
 Enable acknowledge on Own Address2 match address. OAR2 OA2EN LL_I2C_EnableOwnAddress2. More...
 
__STATIC_INLINE void LL_I2C_DisableOwnAddress2 (I2C_TypeDef *I2Cx)
 Disable acknowledge on Own Address2 match address. OAR2 OA2EN LL_I2C_DisableOwnAddress2. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledOwnAddress2 (I2C_TypeDef *I2Cx)
 Check if Own Address1 acknowledge is enabled or disabled. OAR2 OA2EN LL_I2C_IsEnabledOwnAddress2. More...
 
__STATIC_INLINE void LL_I2C_SetTiming (I2C_TypeDef *I2Cx, uint32_t Timing)
 Configure the SDA setup, hold time and the SCL high, low period. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetTimingPrescaler (I2C_TypeDef *I2Cx)
 Get the Timing Prescaler setting. TIMINGR PRESC LL_I2C_GetTimingPrescaler. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetClockLowPeriod (I2C_TypeDef *I2Cx)
 Get the SCL low period setting. TIMINGR SCLL LL_I2C_GetClockLowPeriod. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetClockHighPeriod (I2C_TypeDef *I2Cx)
 Get the SCL high period setting. TIMINGR SCLH LL_I2C_GetClockHighPeriod. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetDataHoldTime (I2C_TypeDef *I2Cx)
 Get the SDA hold time. TIMINGR SDADEL LL_I2C_GetDataHoldTime. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetDataSetupTime (I2C_TypeDef *I2Cx)
 Get the SDA setup time. TIMINGR SCLDEL LL_I2C_GetDataSetupTime. More...
 
__STATIC_INLINE void LL_I2C_SetMode (I2C_TypeDef *I2Cx, uint32_t PeripheralMode)
 Configure peripheral mode. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetMode (I2C_TypeDef *I2Cx)
 Get peripheral mode. More...
 
__STATIC_INLINE void LL_I2C_EnableSMBusAlert (I2C_TypeDef *I2Cx)
 Enable SMBus alert (Host or Device mode) More...
 
__STATIC_INLINE void LL_I2C_DisableSMBusAlert (I2C_TypeDef *I2Cx)
 Disable SMBus alert (Host or Device mode) More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledSMBusAlert (I2C_TypeDef *I2Cx)
 Check if SMBus alert (Host or Device mode) is enabled or disabled. More...
 
__STATIC_INLINE void LL_I2C_EnableSMBusPEC (I2C_TypeDef *I2Cx)
 Enable SMBus Packet Error Calculation (PEC). More...
 
__STATIC_INLINE void LL_I2C_DisableSMBusPEC (I2C_TypeDef *I2Cx)
 Disable SMBus Packet Error Calculation (PEC). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledSMBusPEC (I2C_TypeDef *I2Cx)
 Check if SMBus Packet Error Calculation (PEC) is enabled or disabled. More...
 
__STATIC_INLINE void LL_I2C_ConfigSMBusTimeout (I2C_TypeDef *I2Cx, uint32_t TimeoutA, uint32_t TimeoutAMode, uint32_t TimeoutB)
 Configure the SMBus Clock Timeout. More...
 
__STATIC_INLINE void LL_I2C_SetSMBusTimeoutA (I2C_TypeDef *I2Cx, uint32_t TimeoutA)
 Configure the SMBus Clock TimeoutA (SCL low timeout or SCL and SDA high timeout depends on TimeoutA mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_GetSMBusTimeoutA (I2C_TypeDef *I2Cx)
 Get the SMBus Clock TimeoutA setting. More...
 
__STATIC_INLINE void LL_I2C_SetSMBusTimeoutAMode (I2C_TypeDef *I2Cx, uint32_t TimeoutAMode)
 Set the SMBus Clock TimeoutA mode. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetSMBusTimeoutAMode (I2C_TypeDef *I2Cx)
 Get the SMBus Clock TimeoutA mode. More...
 
__STATIC_INLINE void LL_I2C_SetSMBusTimeoutB (I2C_TypeDef *I2Cx, uint32_t TimeoutB)
 Configure the SMBus Extended Cumulative Clock TimeoutB (Master or Slave mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_GetSMBusTimeoutB (I2C_TypeDef *I2Cx)
 Get the SMBus Extented Cumulative Clock TimeoutB setting. More...
 
__STATIC_INLINE void LL_I2C_EnableSMBusTimeout (I2C_TypeDef *I2Cx, uint32_t ClockTimeout)
 Enable the SMBus Clock Timeout. More...
 
__STATIC_INLINE void LL_I2C_DisableSMBusTimeout (I2C_TypeDef *I2Cx, uint32_t ClockTimeout)
 Disable the SMBus Clock Timeout. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledSMBusTimeout (I2C_TypeDef *I2Cx, uint32_t ClockTimeout)
 Check if the SMBus Clock Timeout is enabled or disabled. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_TX (I2C_TypeDef *I2Cx)
 Enable TXIS interrupt. CR1 TXIE LL_I2C_EnableIT_TX. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_TX (I2C_TypeDef *I2Cx)
 Disable TXIS interrupt. CR1 TXIE LL_I2C_DisableIT_TX. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_TX (I2C_TypeDef *I2Cx)
 Check if the TXIS Interrupt is enabled or disabled. CR1 TXIE LL_I2C_IsEnabledIT_TX. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_RX (I2C_TypeDef *I2Cx)
 Enable RXNE interrupt. CR1 RXIE LL_I2C_EnableIT_RX. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_RX (I2C_TypeDef *I2Cx)
 Disable RXNE interrupt. CR1 RXIE LL_I2C_DisableIT_RX. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_RX (I2C_TypeDef *I2Cx)
 Check if the RXNE Interrupt is enabled or disabled. CR1 RXIE LL_I2C_IsEnabledIT_RX. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_ADDR (I2C_TypeDef *I2Cx)
 Enable Address match interrupt (slave mode only). CR1 ADDRIE LL_I2C_EnableIT_ADDR. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_ADDR (I2C_TypeDef *I2Cx)
 Disable Address match interrupt (slave mode only). CR1 ADDRIE LL_I2C_DisableIT_ADDR. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_ADDR (I2C_TypeDef *I2Cx)
 Check if Address match interrupt is enabled or disabled. CR1 ADDRIE LL_I2C_IsEnabledIT_ADDR. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_NACK (I2C_TypeDef *I2Cx)
 Enable Not acknowledge received interrupt. CR1 NACKIE LL_I2C_EnableIT_NACK. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_NACK (I2C_TypeDef *I2Cx)
 Disable Not acknowledge received interrupt. CR1 NACKIE LL_I2C_DisableIT_NACK. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_NACK (I2C_TypeDef *I2Cx)
 Check if Not acknowledge received interrupt is enabled or disabled. CR1 NACKIE LL_I2C_IsEnabledIT_NACK. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_STOP (I2C_TypeDef *I2Cx)
 Enable STOP detection interrupt. CR1 STOPIE LL_I2C_EnableIT_STOP. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_STOP (I2C_TypeDef *I2Cx)
 Disable STOP detection interrupt. CR1 STOPIE LL_I2C_DisableIT_STOP. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_STOP (I2C_TypeDef *I2Cx)
 Check if STOP detection interrupt is enabled or disabled. CR1 STOPIE LL_I2C_IsEnabledIT_STOP. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_TC (I2C_TypeDef *I2Cx)
 Enable Transfer Complete interrupt. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_TC (I2C_TypeDef *I2Cx)
 Disable Transfer Complete interrupt. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_TC (I2C_TypeDef *I2Cx)
 Check if Transfer Complete interrupt is enabled or disabled. CR1 TCIE LL_I2C_IsEnabledIT_TC. More...
 
__STATIC_INLINE void LL_I2C_EnableIT_ERR (I2C_TypeDef *I2Cx)
 Enable Error interrupts. More...
 
__STATIC_INLINE void LL_I2C_DisableIT_ERR (I2C_TypeDef *I2Cx)
 Disable Error interrupts. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledIT_ERR (I2C_TypeDef *I2Cx)
 Check if Error interrupts are enabled or disabled. CR1 ERRIE LL_I2C_IsEnabledIT_ERR. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_TXE (I2C_TypeDef *I2Cx)
 Indicate the status of Transmit data register empty flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_TXIS (I2C_TypeDef *I2Cx)
 Indicate the status of Transmit interrupt flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_RXNE (I2C_TypeDef *I2Cx)
 Indicate the status of Receive data register not empty flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_ADDR (I2C_TypeDef *I2Cx)
 Indicate the status of Address matched flag (slave mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_NACK (I2C_TypeDef *I2Cx)
 Indicate the status of Not Acknowledge received flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_STOP (I2C_TypeDef *I2Cx)
 Indicate the status of Stop detection flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_TC (I2C_TypeDef *I2Cx)
 Indicate the status of Transfer complete flag (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_TCR (I2C_TypeDef *I2Cx)
 Indicate the status of Transfer complete flag (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_BERR (I2C_TypeDef *I2Cx)
 Indicate the status of Bus error flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_ARLO (I2C_TypeDef *I2Cx)
 Indicate the status of Arbitration lost flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_OVR (I2C_TypeDef *I2Cx)
 Indicate the status of Overrun/Underrun flag (slave mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveSMBusFlag_PECERR (I2C_TypeDef *I2Cx)
 Indicate the status of SMBus PEC error flag in reception. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveSMBusFlag_TIMEOUT (I2C_TypeDef *I2Cx)
 Indicate the status of SMBus Timeout detection flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveSMBusFlag_ALERT (I2C_TypeDef *I2Cx)
 Indicate the status of SMBus alert flag. More...
 
__STATIC_INLINE uint32_t LL_I2C_IsActiveFlag_BUSY (I2C_TypeDef *I2Cx)
 Indicate the status of Bus Busy flag. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_ADDR (I2C_TypeDef *I2Cx)
 Clear Address Matched flag. ICR ADDRCF LL_I2C_ClearFlag_ADDR. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_NACK (I2C_TypeDef *I2Cx)
 Clear Not Acknowledge flag. ICR NACKCF LL_I2C_ClearFlag_NACK. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_STOP (I2C_TypeDef *I2Cx)
 Clear Stop detection flag. ICR STOPCF LL_I2C_ClearFlag_STOP. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_TXE (I2C_TypeDef *I2Cx)
 Clear Transmit data register empty flag (TXE). More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_BERR (I2C_TypeDef *I2Cx)
 Clear Bus error flag. ICR BERRCF LL_I2C_ClearFlag_BERR. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_ARLO (I2C_TypeDef *I2Cx)
 Clear Arbitration lost flag. ICR ARLOCF LL_I2C_ClearFlag_ARLO. More...
 
__STATIC_INLINE void LL_I2C_ClearFlag_OVR (I2C_TypeDef *I2Cx)
 Clear Overrun/Underrun flag. ICR OVRCF LL_I2C_ClearFlag_OVR. More...
 
__STATIC_INLINE void LL_I2C_ClearSMBusFlag_PECERR (I2C_TypeDef *I2Cx)
 Clear SMBus PEC error flag. More...
 
__STATIC_INLINE void LL_I2C_ClearSMBusFlag_TIMEOUT (I2C_TypeDef *I2Cx)
 Clear SMBus Timeout detection flag. More...
 
__STATIC_INLINE void LL_I2C_ClearSMBusFlag_ALERT (I2C_TypeDef *I2Cx)
 Clear SMBus Alert flag. More...
 
__STATIC_INLINE void LL_I2C_EnableAutoEndMode (I2C_TypeDef *I2Cx)
 Enable automatic STOP condition generation (master mode). More...
 
__STATIC_INLINE void LL_I2C_DisableAutoEndMode (I2C_TypeDef *I2Cx)
 Disable automatic STOP condition generation (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledAutoEndMode (I2C_TypeDef *I2Cx)
 Check if automatic STOP condition is enabled or disabled. CR2 AUTOEND LL_I2C_IsEnabledAutoEndMode. More...
 
__STATIC_INLINE void LL_I2C_EnableReloadMode (I2C_TypeDef *I2Cx)
 Enable reload mode (master mode). More...
 
__STATIC_INLINE void LL_I2C_DisableReloadMode (I2C_TypeDef *I2Cx)
 Disable reload mode (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledReloadMode (I2C_TypeDef *I2Cx)
 Check if reload mode is enabled or disabled. CR2 RELOAD LL_I2C_IsEnabledReloadMode. More...
 
__STATIC_INLINE void LL_I2C_SetTransferSize (I2C_TypeDef *I2Cx, uint32_t TransferSize)
 Configure the number of bytes for transfer. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetTransferSize (I2C_TypeDef *I2Cx)
 Get the number of bytes configured for transfer. CR2 NBYTES LL_I2C_GetTransferSize. More...
 
__STATIC_INLINE void LL_I2C_AcknowledgeNextData (I2C_TypeDef *I2Cx, uint32_t TypeAcknowledge)
 Prepare the generation of a ACKnowledge or Non ACKnowledge condition after the address receive match code or next received byte. More...
 
__STATIC_INLINE void LL_I2C_GenerateStartCondition (I2C_TypeDef *I2Cx)
 Generate a START or RESTART condition. More...
 
__STATIC_INLINE void LL_I2C_GenerateStopCondition (I2C_TypeDef *I2Cx)
 Generate a STOP condition after the current byte transfer (master mode). CR2 STOP LL_I2C_GenerateStopCondition. More...
 
__STATIC_INLINE void LL_I2C_EnableAuto10BitRead (I2C_TypeDef *I2Cx)
 Enable automatic RESTART Read request condition for 10bit address header (master mode). More...
 
__STATIC_INLINE void LL_I2C_DisableAuto10BitRead (I2C_TypeDef *I2Cx)
 Disable automatic RESTART Read request condition for 10bit address header (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledAuto10BitRead (I2C_TypeDef *I2Cx)
 Check if automatic RESTART Read request condition for 10bit address header is enabled or disabled. CR2 HEAD10R LL_I2C_IsEnabledAuto10BitRead. More...
 
__STATIC_INLINE void LL_I2C_SetTransferRequest (I2C_TypeDef *I2Cx, uint32_t TransferRequest)
 Configure the transfer direction (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_GetTransferRequest (I2C_TypeDef *I2Cx)
 Get the transfer direction requested (master mode). CR2 RD_WRN LL_I2C_GetTransferRequest. More...
 
__STATIC_INLINE void LL_I2C_SetSlaveAddr (I2C_TypeDef *I2Cx, uint32_t SlaveAddr)
 Configure the slave address for transfer (master mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_GetSlaveAddr (I2C_TypeDef *I2Cx)
 Get the slave address programmed for transfer. CR2 SADD LL_I2C_GetSlaveAddr. More...
 
__STATIC_INLINE void LL_I2C_HandleTransfer (I2C_TypeDef *I2Cx, uint32_t SlaveAddr, uint32_t SlaveAddrSize, uint32_t TransferSize, uint32_t EndMode, uint32_t Request)
 Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set). CR2 SADD LL_I2C_HandleTransfer
CR2 ADD10 LL_I2C_HandleTransfer
CR2 RD_WRN LL_I2C_HandleTransfer
CR2 START LL_I2C_HandleTransfer
CR2 STOP LL_I2C_HandleTransfer
CR2 RELOAD LL_I2C_HandleTransfer
CR2 NBYTES LL_I2C_HandleTransfer
CR2 AUTOEND LL_I2C_HandleTransfer
CR2 HEAD10R LL_I2C_HandleTransfer. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetTransferDirection (I2C_TypeDef *I2Cx)
 Indicate the value of transfer direction (slave mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_GetAddressMatchCode (I2C_TypeDef *I2Cx)
 Return the slave matched address. ISR ADDCODE LL_I2C_GetAddressMatchCode. More...
 
__STATIC_INLINE void LL_I2C_EnableSMBusPECCompare (I2C_TypeDef *I2Cx)
 Enable internal comparison of the SMBus Packet Error byte (transmission or reception mode). More...
 
__STATIC_INLINE uint32_t LL_I2C_IsEnabledSMBusPECCompare (I2C_TypeDef *I2Cx)
 Check if the SMBus Packet Error byte internal comparison is requested or not. More...
 
__STATIC_INLINE uint32_t LL_I2C_GetSMBusPEC (I2C_TypeDef *I2Cx)
 Get the SMBus Packet Error byte calculated. More...
 
__STATIC_INLINE uint8_t LL_I2C_ReceiveData8 (I2C_TypeDef *I2Cx)
 Read Receive Data register. RXDR RXDATA LL_I2C_ReceiveData8. More...
 
__STATIC_INLINE void LL_I2C_TransmitData8 (I2C_TypeDef *I2Cx, uint8_t Data)
 Write in Transmit Data Register . TXDR TXDATA LL_I2C_TransmitData8. More...
 
ErrorStatus LL_I2C_Init (I2C_TypeDef *I2Cx, LL_I2C_InitTypeDef *I2C_InitStruct)
 Initialize the I2C registers according to the specified parameters in I2C_InitStruct. More...
 
ErrorStatus LL_I2C_DeInit (I2C_TypeDef *I2Cx)
 De-initialize the I2C registers to their default reset values. More...
 
void LL_I2C_StructInit (LL_I2C_InitTypeDef *I2C_InitStruct)
 Set each LL_I2C_InitTypeDef field to default value. More...
 

Detailed Description

Header file of I2C LL module.

Author
MCD Application Team
Attention

© Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause

Definition in file stm32l4xx_ll_i2c.h.