project

Dependencies:   MCP23S17 TextLCD mbed

Files at this revision

API Documentation at this revision

Comitter:
mn147147
Date:
Tue Sep 27 12:16:12 2016 +0000
Commit message:
project

Changed in this revision

MCP23S17.lib Show annotated file Show diff for this revision Revisions of this file
TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
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/MCP23S17.lib	Tue Sep 27 12:16:12 2016 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/stjo2809/code/MCP23S17/#b2a44e1e54b8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Tue Sep 27 12:16:12 2016 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/wim/code/TextLCD/#111ca62e8a59
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Sep 27 12:16:12 2016 +0000
@@ -0,0 +1,128 @@
+
+
+#include "mbed.h"
+#include "MCP23S17.h"
+#include "TextLCD.h"
+
+SPI spi(p5, p6, p7);
+I2C i2c(p9, p10);
+DigitalOut cs(p21);
+
+
+
+
+void relay_porta(int bitoutput)
+{
+
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x42);
+    spi.write(0x12);
+    spi.write(bitoutput);
+    cs=1;
+}
+
+void relay_portb(int bitoutput)
+{
+
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x42);
+    spi.write(0x13);
+    spi.write(bitoutput);
+    cs=1;
+}
+
+void mosfet_porta(int bitoutput)
+{
+
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x40);
+    spi.write(0x12);
+    spi.write(bitoutput);
+    cs=1;
+}
+
+void mosfet_portb(int bitoutput)
+{
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x40);
+    spi.write(0x13);
+    spi.write(bitoutput);
+    cs=1;
+}
+
+void autotest()
+{
+    relay_porta(0x00);
+    wait_ms(100);
+    for(int bitoutput=0x01; bitoutput <= 0x80; bitoutput= bitoutput*2) {
+    relay_porta(bitoutput);
+    wait_ms(100);
+    }
+}
+
+int main()
+{
+
+    cs=1;
+    spi.format(8,0);
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x42);        //write to address 001
+    spi.write(0x0A);        //iocon bank 0
+    spi.write(0x2A);        // setup af control register (BANK = 0, MIRROR = 0, SEQOP = 1, DISSLW = 0, HAEN = 1, ODR = 0, INTPOL = 1, NC = 0)
+    cs=1;
+
+
+
+    cs=0;                  //chipselect enable
+    wait_us(1);
+    spi.write(0x42);        //write to address 001
+    spi.write(0x00);        //set direction I/O portA
+    spi.write(0x00);        //all ports are outputs
+    cs=1;
+
+    cs=0;                  //chipselect enable
+    wait_us(1);
+    spi.write(0x42);        //write to address 001
+    spi.write(0x01);        //set direction I/O portB
+    spi.write(0x00);        //all ports are outputs
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x42);
+    spi.write(0x0C);        //GPPUA
+    spi.write(0x00);        //pullup resistors disabled on all bits
+    cs=1;
+
+    cs=0;
+    wait_us(1);
+    spi.write(0x42);
+    spi.write(0x0D);        //GPPUB
+    spi.write(0x00);        //pullup resistors disabled on all bits
+    cs=1;
+
+
+    while(1) {
+        autotest();
+
+    }
+
+}
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Sep 27 12:16:12 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/f9eeca106725
\ No newline at end of file