MG32F10x Standard Peripherals Firmware Library
Functions
mg32f10x_i2c.c File Reference

This file provides all the I2C firmware functions. More...

#include "mg32f10x_i2c.h"
#include "mg32f10x_rcc.h"

Functions

void I2C_DeInit (I2C_TypeDef *I2Cx)
 Deinitializes the I2Cx peripheral registers to their default reset values. More...
 
void I2C_Init (I2C_TypeDef *I2Cx, uint32_t I2C_CON)
 Initializes the I2Cx peripheral according to the specified parameters in the I2C_InitStruct. More...
 
void I2C_TargetAddressConfig (I2C_TypeDef *I2Cx, uint32_t TargetAddress)
 Configures the specified I2C target address. More...
 
void I2C_OwnAddressConfig (I2C_TypeDef *I2Cx, uint16_t Address)
 Configures the specified I2C own address. More...
 
void I2C_HighSpeedModeMasterCodeConfig (I2C_TypeDef *I2Cx, uint8_t Code)
 Configures the I2C HS mode master code. More...
 
uint32_t I2C_GetTxAbortSource (I2C_TypeDef *I2Cx)
 Returns the transmit abort source for the specified I2C. More...
 
void I2C_SCLStuckAtLowTimeoutConfig (I2C_TypeDef *I2Cx, uint32_t Timeout)
 Configures the specified I2C SCL stuck at low timeout. More...
 
void I2C_SDAStuckAtLowTimeoutConfig (I2C_TypeDef *I2Cx, uint32_t Timeout)
 Configures the specified I2C SDA stuck at low timeout. More...
 
void I2C_Cmd (I2C_TypeDef *I2Cx, FunctionalState NewState)
 Enables or disables the specified I2C peripheral. More...
 
void I2C_SlaveDataNAckOnlyConfig (I2C_TypeDef *I2Cx, FunctionalState NewState)
 Enables or disables generate NACK after data byte received when as slave-receiver. More...
 
void I2C_AckGeneralCallCmd (I2C_TypeDef *I2Cx, FunctionalState NewState)
 Enables or disables the General Call ACK Generate. More...
 
uint16_t I2C_ReadData (I2C_TypeDef *I2Cx)
 Read data from Rx FIFO. More...
 
void I2C_WriteDataCmd (I2C_TypeDef *I2Cx, uint16_t I2C_DataCmd)
 Write data and command Tx FIFO. More...
 
FlagStatus I2C_GetFlagStatus (I2C_TypeDef *I2Cx, uint32_t I2C_FLAG)
 Checks whether the specified I2C flag is set or not. More...
 
void I2C_ITConfig (I2C_TypeDef *I2Cx, uint16_t I2C_IT, FunctionalState NewState)
 Enables or disables the specified I2C interrupts. More...
 
ITStatus I2C_GetRawITStatus (I2C_TypeDef *I2Cx, uint16_t I2C_IT)
 Checks whether the specified I2Cx raw interrupt status. More...
 
ITStatus I2C_GetITStatus (I2C_TypeDef *I2Cx, uint16_t I2C_IT)
 Checks whether the specified I2Cx interrupt has occurred or not. More...
 
void I2C_ClearITPendingBit (I2C_TypeDef *I2Cx, uint16_t I2C_IT)
 Clears the I2Cx's interrupt pending bits. More...
 
void I2C_RxFIFOThresholdConfig (I2C_TypeDef *I2Cx, uint8_t Threshold)
 Configures the Receive FIFO threshold. More...
 
void I2C_TxFIFOThresholdConfig (I2C_TypeDef *I2Cx, uint8_t Threshold)
 Configures the Transmit FIFO threshold. More...
 
uint8_t I2C_GetRxFIFOLevel (I2C_TypeDef *I2Cx)
 Returns the number of valid data entries in the receive FIFO buffer. More...
 
uint8_t I2C_GetTxFIFOLevel (I2C_TypeDef *I2Cx)
 Returns the number of valid data entries in the transmit FIFO buffer. More...
 
void I2C_DMARxReqLevelConfig (I2C_TypeDef *I2Cx, uint8_t Level)
 Configures the DMA Rx request level. More...
 
void I2C_DMATxReqLevelConfig (I2C_TypeDef *I2Cx, uint8_t Level)
 Configures the DMA Tx request level. More...
 
void I2C_DMACmd (I2C_TypeDef *I2Cx, uint32_t I2C_DMAReq, FunctionalState NewState)
 Enables or disables the I2Cx's DMA interface. More...
 
void I2C_SMBus_ITConfig (I2C_TypeDef *I2Cx, uint16_t I2C_SMBUS_IT, FunctionalState NewState)
 Enables or disables the specified SMBus interrupts. More...
 
ITStatus I2C_SMBus_GetRawITStatus (I2C_TypeDef *I2Cx, uint16_t I2C_SMBUS_IT)
 Checks whether the specified SMBus raw interrupt status. More...
 
ITStatus I2C_SMBus_GetITStatus (I2C_TypeDef *I2Cx, uint16_t I2C_SMBUS_IT)
 Checks whether the specified SMBus interrupt has occurred or not. More...
 
void I2C_SMBus_ClearITPendingBit (I2C_TypeDef *I2Cx, uint16_t I2C_SMBUS_IT)
 Clears the I2Cx's interrupt pending bits. More...
 

Detailed Description

This file provides all the I2C firmware functions.

Author
megawin Application Team
Version
V0.1.10
Date
05-January-2023