Example of how to use the library for the MCP23017 16 bit expander port for I2C.
Diff: main.cpp
- Revision:
- 0:88d87b1c1f8b
diff -r 000000000000 -r 88d87b1c1f8b main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sat Dec 18 19:44:49 2010 +0000
@@ -0,0 +1,39 @@
+#include "mbed.h"
+#include "MCP23017.h"
+
+DigitalOut myled1(LED1);
+DigitalOut myled2(LED2);
+
+Serial pc(USBTX, USBRX);
+I2C i2c(p9, p10);
+
+MCP23017 mcp23017 = MCP23017(i2c, 0x40);
+
+int main() {
+
+ pc.printf("Hello World\n");
+
+ // I2C init
+ i2c.frequency(100000);
+
+ // Port A is databus - Output
+ mcp23017.direction(PORT_A, PORT_DIR_OUT);
+ // Port B is controlbus - Output
+ mcp23017.direction(PORT_B, PORT_DIR_OUT);
+
+ myled2 = 1;
+ pc.printf("MPC Init done\n");
+
+ while(1) {
+ myled1 = 1;
+ mcp23017.write(PORT_A, 0xFF);
+ mcp23017.write(PORT_B, 0xFF);
+ wait(0.2);
+
+ myled1 = 0;
+ mcp23017.write(PORT_A, 0x00);
+ mcp23017.write(PORT_B, 0x00);
+ wait(0.2);
+ pc.printf("*");
+ }
+}
MCP2317 I2C 16 bit I/O expander