wiggles5289 / mcp23017

Library to use MCP23017 I/O Expander chip with STM32 via i2c interface

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MCP23017 library for STM32.

Library to use MCP23017 I/O Expander chip with STM32 via i2c interface.


	       .---------.
	GPB0<->|1  \_/ 28|<->GPA7
	GPB1<->|         |<->GPA6
	GPB2<->|    M    |<->GPA5
	GPB3<->|    C    |<->GPA4
	GPB4<->|    P    |<->GPA3
	GPB5<->|    2    |<->GPA2
	GPB6<->|    3    |<->GPA1
	GPB7<->|    0    |<->GPA0
	 VDD-->|    1    |-->INTA
	 VSS-->|    7    |-->INTB
	  NC---|         |-->~RESET
	 SCL-->|         |<--A2
	 SDA<->|         |<--A1
	  NC---|14     15|<--A0
	       '---------'


Example: Read bits from GPA then copy bits to GPB.

#include "mcp23017.h"

MCP23017_HandleTypeDef hmcp;

mcp23017_init(&hmcp, &hi2c1, MCP23017_ADDRESS_20);
mcp23017_iodir(&hmcp, MCP23017_PORTA, MCP23017_IODIR_ALL_INPUT);
mcp23017_iodir(&hmcp, MCP23017_PORTB, MCP23017_IODIR_ALL_OUTPUT);

while (1) {
	mcp23017_read_gpio(&hmcp, MCP23017_PORTA);
	hmcp.gpio[MCP23017_PORTB] = hmcp.gpio[MCP23017_PORTA];
	mcp23017_write_gpio(&hmcp, MCP23017_PORTB);
}

About

Library to use MCP23017 I/O Expander chip with STM32 via i2c interface

License:MIT License


Languages

Language:C 100.0%