STM32F0 Standard Peripheral bibliotheek
1.0
ST Microelectronics standard peripheral bibliotheek documentatie voor de STM32F0 familie
|
I2C driver modules. More...
Modules | |
I2C_Exported_Constants | |
I2C_Private_Functions | |
Data Structures | |
struct | I2C_InitTypeDef |
I2C Init structure definition. More... | |
Functions | |
void | I2C_DeInit (I2C_TypeDef *I2Cx) |
Deinitializes the I2Cx peripheral registers to their default reset values. More... | |
void | I2C_Init (I2C_TypeDef *I2Cx, I2C_InitTypeDef *I2C_InitStruct) |
Initializes the I2Cx peripheral according to the specified parameters in the I2C_InitStruct. More... | |
void | I2C_StructInit (I2C_InitTypeDef *I2C_InitStruct) |
Fills each I2C_InitStruct member with its default value. More... | |
void | I2C_Cmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the specified I2C peripheral. More... | |
void | I2C_SoftwareResetCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the specified I2C software reset. More... | |
void | I2C_ITConfig (I2C_TypeDef *I2Cx, uint32_t I2C_IT, FunctionalState NewState) |
Enables or disables the specified I2C interrupts. More... | |
void | I2C_StretchClockCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C Clock stretching. More... | |
void | I2C_StopModeCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C wakeup from stop mode. More... | |
void | I2C_DualAddressCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C own address 2. More... | |
void | I2C_OwnAddress2Config (I2C_TypeDef *I2Cx, uint16_t Address, uint8_t Mask) |
Configures the I2C slave own address 2 and mask. More... | |
void | I2C_GeneralCallCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C general call mode. More... | |
void | I2C_SlaveByteControlCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C slave byte control. More... | |
void | I2C_SlaveAddressConfig (I2C_TypeDef *I2Cx, uint16_t Address) |
Configures the slave address to be transmitted after start generation. More... | |
void | I2C_10BitAddressingModeCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C 10-bit addressing mode for the master. More... | |
void | I2C_AutoEndCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C automatic end mode (stop condition is automatically sent when nbytes data are transferred). More... | |
void | I2C_ReloadCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C nbytes reload mode. More... | |
void | I2C_NumberOfBytesConfig (I2C_TypeDef *I2Cx, uint8_t Number_Bytes) |
Configures the number of bytes to be transmitted/received. More... | |
void | I2C_MasterRequestConfig (I2C_TypeDef *I2Cx, uint16_t I2C_Direction) |
Configures the type of transfer request for the master. More... | |
void | I2C_GenerateSTART (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Generates I2Cx communication START condition. More... | |
void | I2C_GenerateSTOP (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Generates I2Cx communication STOP condition. More... | |
void | I2C_10BitAddressHeaderCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables the I2C 10-bit header only mode with read direction. More... | |
void | I2C_AcknowledgeConfig (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Generates I2C communication Acknowledge. More... | |
uint8_t | I2C_GetAddressMatched (I2C_TypeDef *I2Cx) |
Returns the I2C slave matched address . More... | |
uint16_t | I2C_GetTransferDirection (I2C_TypeDef *I2Cx) |
Returns the I2C slave received request. More... | |
void | I2C_TransferHandling (I2C_TypeDef *I2Cx, uint16_t Address, uint8_t Number_Bytes, uint32_t ReloadEndMode, uint32_t StartStopMode) |
Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set). More... | |
void | I2C_SMBusAlertCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C SMBus alert. More... | |
void | I2C_ClockTimeoutCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C Clock Timeout (SCL Timeout detection). More... | |
void | I2C_ExtendedClockTimeoutCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C Extended Clock Timeout (SCL cumulative Timeout detection). More... | |
void | I2C_IdleClockTimeoutCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C Idle Clock Timeout (Bus idle SCL and SDA high detection). More... | |
void | I2C_TimeoutAConfig (I2C_TypeDef *I2Cx, uint16_t Timeout) |
Configures the I2C Bus Timeout A (SCL Timeout when TIDLE = 0 or Bus idle SCL and SDA high when TIDLE = 1). More... | |
void | I2C_TimeoutBConfig (I2C_TypeDef *I2Cx, uint16_t Timeout) |
Configures the I2C Bus Timeout B (SCL cumulative Timeout). More... | |
void | I2C_CalculatePEC (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C PEC calculation. More... | |
void | I2C_PECRequestCmd (I2C_TypeDef *I2Cx, FunctionalState NewState) |
Enables or disables I2C PEC transmission/reception request. More... | |
uint8_t | I2C_GetPEC (I2C_TypeDef *I2Cx) |
Returns the I2C PEC. More... | |
uint32_t | I2C_ReadRegister (I2C_TypeDef *I2Cx, uint8_t I2C_Register) |
Reads the specified I2C register and returns its value. More... | |
void | I2C_SendData (I2C_TypeDef *I2Cx, uint8_t Data) |
Sends a data byte through the I2Cx peripheral. More... | |
uint8_t | I2C_ReceiveData (I2C_TypeDef *I2Cx) |
Returns the most recent received data by the I2Cx peripheral. More... | |
void | I2C_DMACmd (I2C_TypeDef *I2Cx, uint32_t I2C_DMAReq, FunctionalState NewState) |
Enables or disables the I2C DMA interface. More... | |
FlagStatus | I2C_GetFlagStatus (I2C_TypeDef *I2Cx, uint32_t I2C_FLAG) |
Checks whether the specified I2C flag is set or not. More... | |
void | I2C_ClearFlag (I2C_TypeDef *I2Cx, uint32_t I2C_FLAG) |
Clears the I2Cx's pending flags. More... | |
ITStatus | I2C_GetITStatus (I2C_TypeDef *I2Cx, uint32_t I2C_IT) |
Checks whether the specified I2C interrupt has occurred or not. More... | |
void | I2C_ClearITPendingBit (I2C_TypeDef *I2Cx, uint32_t I2C_IT) |
Clears the I2Cx's interrupt pending bits. More... | |
I2C driver modules.
void I2C_10BitAddressHeaderCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C 10-bit header only mode with read direction.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C 10-bit header only mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_10BitAddressingModeCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C 10-bit addressing mode for the master.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C 10-bit addressing mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_AcknowledgeConfig | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Generates I2C communication Acknowledge.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the Acknowledge. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_AutoEndCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C automatic end mode (stop condition is automatically sent when nbytes data are transferred).
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C automatic end mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_CalculatePEC | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C PEC calculation.
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx PEC calculation. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_ClearFlag | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_FLAG | ||
) |
Clears the I2Cx's pending flags.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_FLAG,: | specifies the flag to clear. This parameter can be any combination of the following values:
|
The | new state of I2C_FLAG (SET or RESET). |
void I2C_ClearITPendingBit | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_IT | ||
) |
Clears the I2Cx's interrupt pending bits.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_IT,: | specifies the interrupt pending bit to clear. This parameter can be any combination of the following values:
|
The | new state of I2C_IT (SET or RESET). |
void I2C_ClockTimeoutCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C Clock Timeout (SCL Timeout detection).
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx clock Timeout. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_Cmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the specified I2C peripheral.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2Cx peripheral. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_DeInit | ( | I2C_TypeDef * | I2Cx | ) |
Deinitializes the I2Cx peripheral registers to their default reset values.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
None |
void I2C_DMACmd | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_DMAReq, | ||
FunctionalState | NewState | ||
) |
Enables or disables the I2C DMA interface.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_DMAReq,: | specifies the I2C DMA transfer request to be enabled or disabled. This parameter can be any combination of the following values:
|
NewState,: | new state of the selected I2C DMA transfer request. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_DualAddressCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C own address 2.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C own address 2. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_ExtendedClockTimeoutCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C Extended Clock Timeout (SCL cumulative Timeout detection).
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx Extended clock Timeout. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_GeneralCallCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C general call mode.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C general call mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_GenerateSTART | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Generates I2Cx communication START condition.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C START condition generation. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_GenerateSTOP | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Generates I2Cx communication STOP condition.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C STOP condition generation. This parameter can be: ENABLE or DISABLE. |
None |
uint8_t I2C_GetAddressMatched | ( | I2C_TypeDef * | I2Cx | ) |
Returns the I2C slave matched address .
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
The | value of the slave matched address . |
FlagStatus I2C_GetFlagStatus | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_FLAG | ||
) |
Checks whether the specified I2C flag is set or not.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_FLAG,: | specifies the flag to check. This parameter can be one of the following values:
|
The | new state of I2C_FLAG (SET or RESET). |
ITStatus I2C_GetITStatus | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_IT | ||
) |
Checks whether the specified I2C interrupt has occurred or not.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_IT,: | specifies the interrupt source to check. This parameter can be one of the following values:
|
The | new state of I2C_IT (SET or RESET). |
uint8_t I2C_GetPEC | ( | I2C_TypeDef * | I2Cx | ) |
Returns the I2C PEC.
I2Cx,: | where x can be 1 to select the I2C peripheral. |
The | value of the PEC . |
uint16_t I2C_GetTransferDirection | ( | I2C_TypeDef * | I2Cx | ) |
Returns the I2C slave received request.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
The | value of the received request. |
void I2C_IdleClockTimeoutCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C Idle Clock Timeout (Bus idle SCL and SDA high detection).
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx Idle clock Timeout. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_Init | ( | I2C_TypeDef * | I2Cx, |
I2C_InitTypeDef * | I2C_InitStruct | ||
) |
Initializes the I2Cx peripheral according to the specified parameters in the I2C_InitStruct.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_InitStruct,: | pointer to a I2C_InitTypeDef structure that contains the configuration information for the specified I2C peripheral. |
None |
void I2C_ITConfig | ( | I2C_TypeDef * | I2Cx, |
uint32_t | I2C_IT, | ||
FunctionalState | NewState | ||
) |
Enables or disables the specified I2C interrupts.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_IT,: | specifies the I2C interrupts sources to be enabled or disabled. This parameter can be any combination of the following values:
|
NewState,: | new state of the specified I2C interrupts. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_MasterRequestConfig | ( | I2C_TypeDef * | I2Cx, |
uint16_t | I2C_Direction | ||
) |
Configures the type of transfer request for the master.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_Direction,: | specifies the transfer request direction to be programmed. This parameter can be one of the following values:
|
None |
void I2C_NumberOfBytesConfig | ( | I2C_TypeDef * | I2Cx, |
uint8_t | Number_Bytes | ||
) |
Configures the number of bytes to be transmitted/received.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
Number_Bytes,: | specifies the number of bytes to be programmed. |
None |
void I2C_OwnAddress2Config | ( | I2C_TypeDef * | I2Cx, |
uint16_t | Address, | ||
uint8_t | Mask | ||
) |
Configures the I2C slave own address 2 and mask.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
Address,: | specifies the slave address to be programmed. |
Mask,: | specifies own address 2 mask to be programmed. This parameter can be one of the following values:
|
None |
void I2C_PECRequestCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C PEC transmission/reception request.
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx PEC request. This parameter can be: ENABLE or DISABLE. |
None |
uint32_t I2C_ReadRegister | ( | I2C_TypeDef * | I2Cx, |
uint8_t | I2C_Register | ||
) |
Reads the specified I2C register and returns its value.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
I2C_Register,: | specifies the register to read. This parameter can be one of the following values:
|
The | value of the read register. |
uint8_t I2C_ReceiveData | ( | I2C_TypeDef * | I2Cx | ) |
Returns the most recent received data by the I2Cx peripheral.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
The | value of the received data. |
void I2C_ReloadCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C nbytes reload mode.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the nbytes reload mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_SendData | ( | I2C_TypeDef * | I2Cx, |
uint8_t | Data | ||
) |
Sends a data byte through the I2Cx peripheral.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
Data,: | Byte to be transmitted.. |
None |
void I2C_SlaveAddressConfig | ( | I2C_TypeDef * | I2Cx, |
uint16_t | Address | ||
) |
Configures the slave address to be transmitted after start generation.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
Address,: | specifies the slave address to be programmed. |
None |
void I2C_SlaveByteControlCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C slave byte control.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C slave byte control. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_SMBusAlertCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C SMBus alert.
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx SMBus alert. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_SoftwareResetCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the specified I2C software reset.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2C software reset. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_StopModeCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables I2C wakeup from stop mode.
I2Cx,: | where x can be 1 to select the I2C peripheral. |
NewState,: | new state of the I2Cx stop mode. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_StretchClockCmd | ( | I2C_TypeDef * | I2Cx, |
FunctionalState | NewState | ||
) |
Enables or disables the I2C Clock stretching.
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
NewState,: | new state of the I2Cx Clock stretching. This parameter can be: ENABLE or DISABLE. |
None |
void I2C_StructInit | ( | I2C_InitTypeDef * | I2C_InitStruct | ) |
Fills each I2C_InitStruct member with its default value.
I2C_InitStruct,: | pointer to an I2C_InitTypeDef structure which will be initialized. |
None |
void I2C_TimeoutAConfig | ( | I2C_TypeDef * | I2Cx, |
uint16_t | Timeout | ||
) |
Configures the I2C Bus Timeout A (SCL Timeout when TIDLE = 0 or Bus idle SCL and SDA high when TIDLE = 1).
I2Cx,: | where x can be 1 to select the I2C peripheral. |
Timeout,: | specifies the TimeoutA to be programmed. |
None |
void I2C_TimeoutBConfig | ( | I2C_TypeDef * | I2Cx, |
uint16_t | Timeout | ||
) |
Configures the I2C Bus Timeout B (SCL cumulative Timeout).
I2Cx,: | where x can be 1 to select the I2C peripheral. |
Timeout,: | specifies the TimeoutB to be programmed. |
None |
void I2C_TransferHandling | ( | I2C_TypeDef * | I2Cx, |
uint16_t | Address, | ||
uint8_t | Number_Bytes, | ||
uint32_t | ReloadEndMode, | ||
uint32_t | StartStopMode | ||
) |
Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag are set).
I2Cx,: | where x can be 1 or 2 to select the I2C peripheral. |
Address,: | specifies the slave address to be programmed. |
Number_Bytes,: | specifies the number of bytes to be programmed. This parameter must be a value between 0 and 255. |
ReloadEndMode,: | new state of the I2C START condition generation. This parameter can be one of the following values:
|
StartStopMode,: | new state of the I2C START condition generation. This parameter can be one of the following values:
|
None |