MCUXpresso SDK API Reference Manual  Rev 2.12.1
NXP Semiconductors
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages

Overview

Modules

 I2C Master Driver
 
 I2C Slave Driver
 

Files

file  fsl_i2c.h
 

Macros

#define I2C_RETRY_TIMES   0U /* Define to zero means keep waiting until the flag is assert/deassert. */
 Retry times for waiting flag. More...
 
#define I2C_STAT_MSTCODE_IDLE   (0)
 Master Idle State Code.
 
#define I2C_STAT_MSTCODE_RXREADY   (1UL)
 Master Receive Ready State Code.
 
#define I2C_STAT_MSTCODE_TXREADY   (2UL)
 Master Transmit Ready State Code.
 
#define I2C_STAT_MSTCODE_NACKADR   (3UL)
 Master NACK by slave on address State Code.
 
#define I2C_STAT_MSTCODE_NACKDAT   (4UL)
 Master NACK by slave on data State Code.
 

Typedefs

typedef void(* i2c_isr_t )(I2C_Type *base, void *i2cHandle)
 Typedef for interrupt handler. More...
 

Enumerations

enum  {
  kStatus_I2C_Busy = MAKE_STATUS(kStatusGroup_LPC_I2C, 0),
  kStatus_I2C_Idle = MAKE_STATUS(kStatusGroup_LPC_I2C, 1),
  kStatus_I2C_Nak = MAKE_STATUS(kStatusGroup_LPC_I2C, 2),
  kStatus_I2C_InvalidParameter,
  kStatus_I2C_BitError = MAKE_STATUS(kStatusGroup_LPC_I2C, 4),
  kStatus_I2C_ArbitrationLost = MAKE_STATUS(kStatusGroup_LPC_I2C, 5),
  kStatus_I2C_NoTransferInProgress,
  kStatus_I2C_DmaRequestFail = MAKE_STATUS(kStatusGroup_LPC_I2C, 7),
  kStatus_I2C_StartStopError = MAKE_STATUS(kStatusGroup_LPC_I2C, 8),
  kStatus_I2C_UnexpectedState = MAKE_STATUS(kStatusGroup_LPC_I2C, 9),
  kStatus_I2C_Addr_Nak = MAKE_STATUS(kStatusGroup_LPC_I2C, 10),
  kStatus_I2C_Timeout = MAKE_STATUS(kStatusGroup_LPC_I2C, 11),
  kStatus_I2C_EventTimeout = MAKE_STATUS(kStatusGroup_LPC_I2C, 12),
  kStatus_I2C_SclLowTimeout = MAKE_STATUS(kStatusGroup_LPC_I2C, 13)
}
 I2C status return codes. More...
 

Variables

const IRQn_Type s_i2cIRQ []
 Array of I2C IRQ number. More...
 
void * s_i2cHandle [FSL_FEATURE_SOC_I2C_COUNT]
 Pointers to i2c handles for each instance. More...
 
i2c_isr_t s_i2cMasterIsr
 Pointer to master IRQ handler for each instance. More...
 
i2c_isr_t s_i2cSlaveIsr
 Pointer to slave IRQ handler for each instance. More...
 

Driver version

#define FSL_I2C_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
 I2C driver version. More...
 

Macro Definition Documentation

#define FSL_I2C_DRIVER_VERSION   (MAKE_VERSION(2, 1, 0))
#define I2C_RETRY_TIMES   0U /* Define to zero means keep waiting until the flag is assert/deassert. */

Typedef Documentation

typedef void(* i2c_isr_t)(I2C_Type *base, void *i2cHandle)

Enumeration Type Documentation

anonymous enum
Enumerator
kStatus_I2C_Busy 

The master is already performing a transfer.

kStatus_I2C_Idle 

The slave driver is idle.

kStatus_I2C_Nak 

The slave device sent a NAK in response to a byte.

kStatus_I2C_InvalidParameter 

Unable to proceed due to invalid parameter.

kStatus_I2C_BitError 

Transferred bit was not seen on the bus.

kStatus_I2C_ArbitrationLost 

Arbitration lost error.

kStatus_I2C_NoTransferInProgress 

Attempt to abort a transfer when one is not in progress.

kStatus_I2C_DmaRequestFail 

DMA request failed.

kStatus_I2C_StartStopError 

Start and stop error.

kStatus_I2C_UnexpectedState 

Unexpected state.

kStatus_I2C_Addr_Nak 

NAK received during the address probe.

kStatus_I2C_Timeout 

Timeout polling status flags.

kStatus_I2C_EventTimeout 

Timeout waiting for bus event.

kStatus_I2C_SclLowTimeout 

Timeout SCL signal remains low.

Variable Documentation

const IRQn_Type s_i2cIRQ[]
void* s_i2cHandle[FSL_FEATURE_SOC_I2C_COUNT]
i2c_isr_t s_i2cMasterIsr
i2c_isr_t s_i2cSlaveIsr