v 0.4

Dependents:   MCP23S17Test MCP23S17_Basic_IO_Demo HelloWorld Lab3-SnakeGame ... more

Files at this revision

API Documentation at this revision

Comitter:
romilly
Date:
Wed Aug 18 12:30:39 2010 +0000
Child:
1:5abd129839e7
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Aug 18 12:30:39 2010 +0000
@@ -0,0 +1,46 @@
+#include "mbed.h"
+
+/* first attempt at driving an MCP23S17
+*
+* Turns alternate bits of B register on and off
+* 
+* I have not added many comments yet.
+* This is a proof of concept,
+* not a finished example.
+*/
+
+DigitalOut myled(LED1);
+
+SPI spi(p5, p6, p7);
+DigitalOut ncs(p20);
+
+void write(char command, char address, char data) {
+    ncs = 0;
+    spi.write(command);
+    spi.write(address);
+    spi.write(data);
+    ncs = 1;
+}
+
+void init() {
+    write(0x40, 0x0A, 0xA0);
+    write(0x40, 0x10, 0x00);
+}
+
+void output(char byte) {
+    ncs = 0;
+     write(0x40,0x1A, byte); // configures for multi-write - could send a series of bytes for immediate output
+    ncs = 1;  
+}
+
+int main() {
+    init();
+    while(1) {
+        myled = 1;
+        wait(0.2);
+        output(0xAA);
+        myled = 0;
+        wait(0.2);
+        output(0x55);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Aug 18 12:30:39 2010 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9114680c05da