-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathREADME.txt
38 lines (29 loc) · 966 Bytes
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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);
}