MG32F10x Standard Peripherals Firmware Library
Macros | Functions
mg32f10x_i2c.h File Reference

This file contains all the functions prototypes for the I2C firmware library. More...

#include "mg32f10x.h"

Go to the source code of this file.

Macros

#define I2C_TARGETADDRESS_GENERAL_CALL   (I2C_TAR_SPECIAL)
 
#define I2C_TARGETADDRESS_START_BYTE   (I2C_TAR_SPECIAL | I2C_TAR_GC_OR_START)
 
#define I2C_TARGETADDRESS_DEVICE_ID   (I2C_TAR_SPECIAL | I2C_TAR_DEVICE_ID)
 
#define I2C_TARGETADDRESS_SMBUS_QUICK_CMD   (I2C_TAR_SPECIAL | I2C_TAR_SMBUS_QUICK_CMD)
 
#define I2C_FLAG_ACTIVITY   I2C_STATUS_ACTIVITY
 
#define I2C_FLAG_TFNF   I2C_STATUS_TFNF
 
#define I2C_FLAG_TFE   I2C_STATUS_TFE
 
#define I2C_FLAG_RFNE   I2C_STATUS_RFNE
 
#define I2C_FLAG_RFF   I2C_STATUS_RFF
 
#define I2C_FLAG_MST_ACTIVITY   I2C_STATUS_MST_ACTIVITY
 
#define I2C_FLAG_SLV_ACTIVITY   I2C_STATUS_SLV_ACTIVITY
 
#define I2C_FLAG_MST_HOLD_TX_FIFO_EMPTY   I2C_STATUS_MST_HOLD_TX_FIFO_EMPTY
 
#define I2C_FLAG_MST_HOLD_RX_FIFO_FULL   I2C_STATUS_MST_HOLD_RX_FIFO_FULL
 
#define I2C_FLAG_SLV_HOLD_TX_FIFO_EMPTY   I2C_STATUS_SLV_HOLD_TX_FIFO_EMPTY
 
#define I2C_FLAG_SLV_HOLD_RX_FIFO_FULL   I2C_STATUS_SLV_HOLD_RX_FIFO_FULL
 
#define I2C_FLAG_SDA_STUCK_NOT_RECOVERED   I2C_STATUS_SDA_STUCK_NOT_RECOVERED
 
#define I2C_FLAG_SMBUS_QUICK_CMD_BIT   I2C_STATUS_SMBUS_QUICK_CMD_BIT
 
#define I2C_FLAG_SMBUS_SLAVE_ADDR_VALID   I2C_STATUS_SMBUS_SLAVE_ADDR_VALID
 
#define I2C_FLAG_SMBUS_SLAVE_ADDR_RESOLVED   I2C_STATUS_SMBUS_SLAVE_ADDR_RESOLVED
 
#define I2C_FLAG_SMBUS_SUSPEND_STATUS   I2C_STATUS_SMBUS_SUSPEND_STATUS
 
#define I2C_FLAG_SMBUS_ALERT_STATUS   I2C_STATUS_SMBUS_ALERT_STATUS
 
#define I2C_IT_RX_UNDER   I2C_INTR_RX_UNDER
 
#define I2C_IT_RX_OVER   I2C_INTR_RX_OVER
 
#define I2C_IT_RX_FULL   I2C_INTR_RX_FULL
 
#define I2C_IT_TX_OVER   I2C_INTR_TX_OVER
 
#define I2C_IT_TX_EMPTY   I2C_INTR_TX_EMPTY
 
#define I2C_IT_RD_REQ   I2C_INTR_RD_REQ
 
#define I2C_IT_TX_ABRT   I2C_INTR_TX_ABRT
 
#define I2C_IT_RX_DONE   I2C_INTR_RX_DONE
 
#define I2C_IT_ACTIVITY   I2C_INTR_ACTIVITY
 
#define I2C_IT_STOP_DET   I2C_INTR_STOP_DET
 
#define I2C_IT_START_DET   I2C_INTR_START_DET
 
#define I2C_IT_GEN_CALL   I2C_INTR_GEN_CALL
 
#define I2C_IT_RESTART_DET   I2C_INTR_RESTART_DET
 
#define I2C_IT_SCL_STUCK_AT_LOW   I2C_INTR_SCL_STUCK_AT_LOW
 
#define I2C_SMBUS_IT_SLV_CLOCK_EXTND_TIMEOUT   I2C_SMBUS_INTR_SLV_CLOCK_EXTND_TIMEOUT
 
#define I2C_SMBUS_IT_MST_CLOCK_EXTND_TIMEOUT   I2C_SMBUS_INTR_MST_CLOCK_EXTND_TIMEOUT
 
#define I2C_SMBUS_IT_QUICK_CMD_DET   I2C_SMBUS_INTR_QUICK_CMD_DET
 
#define I2C_SMBUS_IT_HOST_NTFY_MST_DET   I2C_SMBUS_INTR_HOST_NTFY_MST_DET
 
#define I2C_SMBUS_IT_ARP_PREPARE_CMD_DET   I2C_SMBUS_INTR_ARP_PREPARE_CMD_DET
 
#define I2C_SMBUS_IT_ARP_RST_CMD_DET   I2C_SMBUS_INTR_ARP_RST_CMD_DET
 
#define I2C_SMBUS_IT_ARP_GET_UDID_CMD_DET   I2C_SMBUS_INTR_ARP_GET_UDID_CMD_DET
 
#define I2C_SMBUS_IT_ARP_ASSGN_ADDR_CMD_DET   I2C_SMBUS_INTR_ARP_ASSGN_ADDR_CMD_DET
 
#define I2C_SMBUS_IT_SLV_RX_PEC_NACK   I2C_SMBUS_INTR_SLV_RX_PEC_NACK
 
#define I2C_SMBUS_IT_SMBUS_SUSPEND_DET   I2C_SMBUS_INTR_SMBUS_SUSPEND_DET
 
#define I2C_SMBUS_IT_SMBUS_ALERT_DET   I2C_SMBUS_INTR_SMBUS_ALERT_DET
 
#define I2C_DMAReq_Rx   I2C_DMA_CR_RDMAE
 
#define I2C_DMAReq_Tx   I2C_DMA_CR_TDMAE
 

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 contains all the functions prototypes for the I2C firmware library.

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