LPCOpen Platform for LPC112X microcontrollers  112X
LPCOpen Platform for the NXP LPC112X family of Microcontrollers
Data Structures | Modules | Macros
CHIP: LPC11xx I2C driver

Detailed Description

Data Structures

struct  LPC_I2C_T
 I2C register block structure. More...
 

Modules

 CHIP: LPC11xx I2C master-only driver
 

Macros

#define I2C_I2CONSET_AA   ((0x04))
 
#define I2C_I2CONSET_SI   ((0x08))
 
#define I2C_I2CONSET_STO   ((0x10))
 
#define I2C_I2CONSET_STA   ((0x20))
 
#define I2C_I2CONSET_I2EN   ((0x40))
 
#define I2C_I2CONCLR_AAC   ((1 << 2))
 
#define I2C_I2CONCLR_SIC   ((1 << 3))
 
#define I2C_I2CONCLR_STOC   ((1 << 4))
 
#define I2C_I2CONCLR_STAC   ((1 << 5))
 
#define I2C_I2CONCLR_I2ENC   ((1 << 6))
 
#define I2C_CON_AA   (1UL << 2)
 
#define I2C_CON_SI   (1UL << 3)
 
#define I2C_CON_STO   (1UL << 4)
 
#define I2C_CON_STA   (1UL << 5)
 
#define I2C_CON_I2EN   (1UL << 6)
 
#define I2C_STAT_CODE_BITMASK   ((0xF8))
 
#define I2C_STAT_CODE_ERROR   ((0xFF))
 
#define I2C_I2STAT_M_TX_START   ((0x08))
 
#define I2C_I2STAT_M_TX_RESTART   ((0x10))
 
#define I2C_I2STAT_M_TX_SLAW_ACK   ((0x18))
 
#define I2C_I2STAT_M_TX_SLAW_NACK   ((0x20))
 
#define I2C_I2STAT_M_TX_DAT_ACK   ((0x28))
 
#define I2C_I2STAT_M_TX_DAT_NACK   ((0x30))
 
#define I2C_I2STAT_M_TX_ARB_LOST   ((0x38))
 
#define I2C_I2STAT_M_RX_START   ((0x08))
 
#define I2C_I2STAT_M_RX_RESTART   ((0x10))
 
#define I2C_I2STAT_M_RX_ARB_LOST   ((0x38))
 
#define I2C_I2STAT_M_RX_SLAR_ACK   ((0x40))
 
#define I2C_I2STAT_M_RX_SLAR_NACK   ((0x48))
 
#define I2C_I2STAT_M_RX_DAT_ACK   ((0x50))
 
#define I2C_I2STAT_M_RX_DAT_NACK   ((0x58))
 
#define I2C_I2STAT_S_RX_SLAW_ACK   ((0x60))
 
#define I2C_I2STAT_S_RX_ARB_LOST_M_SLA   ((0x68))
 
#define I2C_I2STAT_S_RX_GENCALL_ACK   ((0x70))
 
#define I2C_I2STAT_S_RX_ARB_LOST_M_GENCALL   ((0x78))
 
#define I2C_I2STAT_S_RX_PRE_SLA_DAT_ACK   ((0x80))
 
#define I2C_I2STAT_S_RX_PRE_SLA_DAT_NACK   ((0x88))
 
#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_ACK   ((0x90))
 
#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_NACK   ((0x98))
 
#define I2C_I2STAT_S_RX_STA_STO_SLVREC_SLVTRX   ((0xA0))
 
#define I2C_I2STAT_S_TX_SLAR_ACK   ((0xA8))
 
#define I2C_I2STAT_S_TX_ARB_LOST_M_SLA   ((0xB0))
 
#define I2C_I2STAT_S_TX_DAT_ACK   ((0xB8))
 
#define I2C_I2STAT_S_TX_DAT_NACK   ((0xC0))
 
#define I2C_I2STAT_S_TX_LAST_DAT_ACK   ((0xC8))
 
#define I2C_SLAVE_TIME_OUT   0x10000000UL
 
#define I2C_I2DAT_BITMASK   ((0xFF))
 
#define I2C_I2DAT_IDLE_CHAR   (0xFF)
 
#define I2C_I2MMCTRL_MM_ENA   ((1 << 0))
 
#define I2C_I2MMCTRL_ENA_SCL   ((1 << 1))
 
#define I2C_I2MMCTRL_MATCH_ALL   ((1 << 2))
 
#define I2C_I2MMCTRL_BITMASK   ((0x07))
 
#define I2DATA_BUFFER_BITMASK   ((0xFF))
 
#define I2C_I2ADR_GC   ((1 << 0))
 
#define I2C_I2ADR_BITMASK   ((0xFF))
 
#define I2C_I2MASK_MASK(n)   ((n & 0xFE))
 
#define I2C_I2SCLH_BITMASK   ((0xFFFF))
 
#define I2C_I2SCLL_BITMASK   ((0xFFFF))
 
#define I2C_MONITOR_CFG_SCL_OUTPUT   I2C_I2MMCTRL_ENA_SCL
 
#define I2C_MONITOR_CFG_MATCHALL   I2C_I2MMCTRL_MATCH_ALL
 

Macro Definition Documentation

#define I2C_CON_AA   (1UL << 2)

Assert acknowledge bit

Definition at line 84 of file i2c_common_112x.h.

#define I2C_CON_I2EN   (1UL << 6)

I2C interface bit

Definition at line 88 of file i2c_common_112x.h.

#define I2C_CON_SI   (1UL << 3)

I2C interrupt bit

Definition at line 85 of file i2c_common_112x.h.

#define I2C_CON_STA   (1UL << 5)

START flag bit

Definition at line 87 of file i2c_common_112x.h.

#define I2C_CON_STO   (1UL << 4)

I2C STOP bit

Definition at line 86 of file i2c_common_112x.h.

#define I2C_I2ADR_BITMASK   ((0xFF))

I2C Slave Address registers bit mask

Definition at line 171 of file i2c_common_112x.h.

#define I2C_I2ADR_GC   ((1 << 0))

General Call enable bit

Definition at line 170 of file i2c_common_112x.h.

#define I2C_I2CONCLR_AAC   ((1 << 2))

Assert acknowledge Clear bit

Definition at line 75 of file i2c_common_112x.h.

#define I2C_I2CONCLR_I2ENC   ((1 << 6))

I2C interface Disable bit

Definition at line 79 of file i2c_common_112x.h.

#define I2C_I2CONCLR_SIC   ((1 << 3))

I2C interrupt Clear bit

Definition at line 76 of file i2c_common_112x.h.

#define I2C_I2CONCLR_STAC   ((1 << 5))

START flag Clear bit

Definition at line 78 of file i2c_common_112x.h.

#define I2C_I2CONCLR_STOC   ((1 << 4))

I2C STOP Clear bit

Definition at line 77 of file i2c_common_112x.h.

#define I2C_I2CONSET_AA   ((0x04))

Assert acknowledge flag

Definition at line 66 of file i2c_common_112x.h.

#define I2C_I2CONSET_I2EN   ((0x40))

I2C interface enable

Definition at line 70 of file i2c_common_112x.h.

#define I2C_I2CONSET_SI   ((0x08))

I2C interrupt flag

Definition at line 67 of file i2c_common_112x.h.

#define I2C_I2CONSET_STA   ((0x20))

START flag

Definition at line 69 of file i2c_common_112x.h.

#define I2C_I2CONSET_STO   ((0x10))

STOP flag

Definition at line 68 of file i2c_common_112x.h.

#define I2C_I2DAT_BITMASK   ((0xFF))

Mask for I2DAT register

Definition at line 149 of file i2c_common_112x.h.

#define I2C_I2DAT_IDLE_CHAR   (0xFF)

Idle data value will be send out in slave mode in case of the actual expecting data requested from the master is greater than its sending data length that can be supported

Definition at line 150 of file i2c_common_112x.h.

#define I2C_I2MASK_MASK (   n)    ((n & 0xFE))

I2C Mask Register mask field

Definition at line 176 of file i2c_common_112x.h.

#define I2C_I2MMCTRL_BITMASK   ((0x07))

Mask for I2MMCTRL register

Definition at line 160 of file i2c_common_112x.h.

#define I2C_I2MMCTRL_ENA_SCL   ((1 << 1))

SCL output enable

Definition at line 158 of file i2c_common_112x.h.

#define I2C_I2MMCTRL_MATCH_ALL   ((1 << 2))

Select interrupt register match

Definition at line 159 of file i2c_common_112x.h.

#define I2C_I2MMCTRL_MM_ENA   ((1 << 0))

Monitor mode enable

Definition at line 157 of file i2c_common_112x.h.

#define I2C_I2SCLH_BITMASK   ((0xFFFF))

I2C SCL HIGH duty cycle Register bit mask

Definition at line 181 of file i2c_common_112x.h.

#define I2C_I2SCLL_BITMASK   ((0xFFFF))

I2C SCL LOW duty cycle Register bit mask

Definition at line 186 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_ARB_LOST   ((0x38))

Arbitration lost

Definition at line 112 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_DAT_ACK   ((0x50))

Data has been received, ACK has been returned

Definition at line 115 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_DAT_NACK   ((0x58))

Data has been received, NACK has been returned

Definition at line 116 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_RESTART   ((0x10))

A repeat start condition has been transmitted

Definition at line 111 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_SLAR_ACK   ((0x40))

SLA+R has been transmitted, ACK has been received

Definition at line 113 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_SLAR_NACK   ((0x48))

SLA+R has been transmitted, NACK has been received

Definition at line 114 of file i2c_common_112x.h.

#define I2C_I2STAT_M_RX_START   ((0x08))

A start condition has been transmitted

Definition at line 110 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_ARB_LOST   ((0x38))

Arbitration lost in SLA+R/W or Data bytes

Definition at line 105 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_DAT_ACK   ((0x28))

Data has been transmitted, ACK has been received

Definition at line 103 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_DAT_NACK   ((0x30))

Data has been transmitted, NACK has been received

Definition at line 104 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_RESTART   ((0x10))

A repeat start condition has been transmitted

Definition at line 100 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_SLAW_ACK   ((0x18))

SLA+W has been transmitted, ACK has been received

Definition at line 101 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_SLAW_NACK   ((0x20))

SLA+W has been transmitted, NACK has been received

Definition at line 102 of file i2c_common_112x.h.

#define I2C_I2STAT_M_TX_START   ((0x08))

A start condition has been transmitted

Definition at line 99 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_ARB_LOST_M_GENCALL   ((0x78))

Arbitration lost in SLA+R/W (GENERAL CALL) as master

Definition at line 125 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_ARB_LOST_M_SLA   ((0x68))

Arbitration lost in SLA+R/W as master

Definition at line 122 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_GENCALL_ACK   ((0x70))

General call address has been received, ACK has been returned

Definition at line 124 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_ACK   ((0x90))

Previously addressed with General Call; Data has been received and ACK has been returned

Definition at line 129 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_NACK   ((0x98))

Previously addressed with General Call; Data has been received and NOT ACK has been returned

Definition at line 130 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_PRE_SLA_DAT_ACK   ((0x80))

Previously addressed with own SLA; Data has been received, ACK has been returned

Definition at line 127 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_PRE_SLA_DAT_NACK   ((0x88))

Previously addressed with own SLA;Data has been received and NOT ACK has been returned

Definition at line 128 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_SLAW_ACK   ((0x60))

Own slave address has been received, ACK has been returned

Definition at line 121 of file i2c_common_112x.h.

#define I2C_I2STAT_S_RX_STA_STO_SLVREC_SLVTRX   ((0xA0))

A STOP condition or repeated START condition has been received while still addressed as SLV/REC (Slave Receive) or SLV/TRX (Slave Transmit)

Definition at line 131 of file i2c_common_112x.h.

#define I2C_I2STAT_S_TX_ARB_LOST_M_SLA   ((0xB0))

Arbitration lost in SLA+R/W as master

Definition at line 139 of file i2c_common_112x.h.

#define I2C_I2STAT_S_TX_DAT_ACK   ((0xB8))

Data has been transmitted, ACK has been received

Definition at line 141 of file i2c_common_112x.h.

#define I2C_I2STAT_S_TX_DAT_NACK   ((0xC0))

Data has been transmitted, NACK has been received

Definition at line 142 of file i2c_common_112x.h.

#define I2C_I2STAT_S_TX_LAST_DAT_ACK   ((0xC8))

Last data byte in I2DAT has been transmitted (AA = 0); ACK has been received

Definition at line 143 of file i2c_common_112x.h.

#define I2C_I2STAT_S_TX_SLAR_ACK   ((0xA8))

Own SLA+R has been received, ACK has been returned

Definition at line 138 of file i2c_common_112x.h.

#define I2C_MONITOR_CFG_MATCHALL   I2C_I2MMCTRL_MATCH_ALL

Select interrupt register match

Definition at line 192 of file i2c_common_112x.h.

#define I2C_MONITOR_CFG_SCL_OUTPUT   I2C_I2MMCTRL_ENA_SCL

SCL output enable

Definition at line 191 of file i2c_common_112x.h.

#define I2C_SLAVE_TIME_OUT   0x10000000UL

Time out in case of using I2C slave mode

Definition at line 144 of file i2c_common_112x.h.

#define I2C_STAT_CODE_BITMASK   ((0xF8))

Return Code mask in I2C status register

Definition at line 93 of file i2c_common_112x.h.

#define I2C_STAT_CODE_ERROR   ((0xFF))

Return Code error mask in I2C status register

Definition at line 94 of file i2c_common_112x.h.

#define I2DATA_BUFFER_BITMASK   ((0xFF))

I2C Data buffer register bit mask

Definition at line 165 of file i2c_common_112x.h.