The MCP23017 provides a 16-bit general-purpose parallel I/O expansion for the I2C bus. The MCP23017 consists of multiple 8-bit configuration registers for input, output, and polarity selection. The system master can enable the I/O as either inputs or outputs by writing I/O configuration bits (IODIRA/B).
The data for each input or output is kept in the corresponding input or output register. The polarity of the input port register can be inverted with the polarity inversion register.
- 16-bit Remote Bidirectional I/O port.
- High-Speed I2C Interface.
- Three Hardware Address Pins to allow up to eight devices on the bus.
- Configurable Interrupt Output Pins.
- INTA and INTB can be configured to operate independently or together.
- Configurable Interrupt Source