snoeck olivier
/
spi-BigRelay
Command of the SPI version of the BigRelay card. The seller of this card is www.bitwizard.nl
Diff: main.cpp
- Revision:
- 0:dea39d2fe9dd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Nov 11 14:02:08 2013 +0000 @@ -0,0 +1,57 @@ +#include <mbed.h> +//SPI spi(p5, p6, p7); // mosi, miso, sclk +SPI spi(p11, p12, p13); // mosi, miso, sclk +DigitalOut cs(p8); + + void setupBigRelais() + { + cs = 1; //Cheap Select sur p8 + // Setup the spi for 8 bit data, high steady state clock, + // second edge capture, with a 1MHz clock rate + spi.format(8,3); + spi.frequency(1000000);//freq 1MHz + + // Select the device by seting chip select low + cs = 0; + wait(0.0001); + spi.write(0x9c);// addressz de la carte relais + wait(0.0001); + spi.write(0x30);//adresse du registre de direction + wait(0.0001); + spi.write(0xFF);//mise en sortie des relais + wait(0.0001); + } + + void commandBigRelais(int relay,int state) + { + int output; + relay=relay|0x20; + if (state == 1) output=0xFF; + if (state == 0) output=0x00; + + cs = 0; + wait(0.0001); + spi.write(0x9c);// addressz de la carte relais + wait(0.0001); + spi.write(relay); + wait(0.0001); + spi.write(output); + wait(0.0001); + cs = 1; + } + + +int main() { + setupBigRelais(); + + while (1) + { + commandBigRelais(4,1); + + wait(5); + commandBigRelais(4,0); + + wait(5); + } + + } \ No newline at end of file