The MCP23S17T-E/SO is a 16-bit I/O Expander with serial interface, interrupt output cascadable for up to 8 devices on one bus 25mA sink/source capability per I/O. Supports up to 10MHz SPI? clock speeds. It provides 16-bit, general purpose parallel I/O expansion for SPI applications. The MCP23X17 consists of multiple 8-bit configuration registers for input, output and polarity selection. The system master can enable the I/Os as either inputs or outputs by writing the 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. All registers can be read by the system master. The 16-bit I/O port functionally consists of two 8-bit ports (PORTA and PORTB).
Three hardware address pins to allow up to eight devices on the bus
Configurable interrupt output pins as active-high, active-low or open-drain
INTA and INTB can be configured to operate independently or together
Configurable interrupt source - Interrupt-on-change from configured defaults or pin change
Polarity inversion register to configure the polarity of the input port data