The I2C supports the following modes and features:
- Modes
- Master mode
- Slave mode
- Multi-Master mode
- Features
- Dedicated Address, Receive, and Transmit buffers
- Up to four unique Slave addresses
- General Call addressing
- 7-bit and 10-bit addressing with optional masking
- Interrupts for:
- Start condition
- Restart condition
- Stop condition
- Address match
- Data Write
- Acknowledge
Status
- NACK detection
- Data Byte Count
- Bus Collision
- Bus Time-out
- Clock Stretching for:
- RX buffer full
- TX buffer empty
- Incoming address
match
- Data Write
- Acknowledge
Status
- Bus Collision Detection with
Arbitration
- Bus Time-out Detection
- Selectable Serial Data (SDA)
Hold Time
- Dedicated I2C Pad
(I/O) Control
- Standard GPIO or
I2C-specific slew rate control
- Selectable
I2C pull-up levels
- I2C-specific, SMBus 2.0/3.0, or standard GPIO input
threshold level selections
- Integrated Direct Memory
Access (DMA) support
- Remappable pin locations
using Peripheral Pin Select (PPS)