Shift reg led (ICRS)

Dependencies:   mbed

Committer:
je310
Date:
Wed Jun 17 15:57:58 2015 +0000
Revision:
0:9ff3d26e2cb8
hello world;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
je310 0:9ff3d26e2cb8 1 #include "mbed.h"
je310 0:9ff3d26e2cb8 2
je310 0:9ff3d26e2cb8 3 SPI spi(p11, p12, p13); // mosi, miso, sclk
je310 0:9ff3d26e2cb8 4 DigitalOut cs(p8);
je310 0:9ff3d26e2cb8 5 DigitalOut fire(p29);
je310 0:9ff3d26e2cb8 6 DigitalOut step(p26);
je310 0:9ff3d26e2cb8 7 DigitalOut dir(p27);
je310 0:9ff3d26e2cb8 8 int main() {
je310 0:9ff3d26e2cb8 9 // Chip must be deselected
je310 0:9ff3d26e2cb8 10 fire = 1;
je310 0:9ff3d26e2cb8 11 cs = 1;
je310 0:9ff3d26e2cb8 12
je310 0:9ff3d26e2cb8 13 // Setup the spi for 8 bit data, high steady state clock,
je310 0:9ff3d26e2cb8 14 // second edge capture, with a 1MHz clock rate
je310 0:9ff3d26e2cb8 15 spi.format(8,3);
je310 0:9ff3d26e2cb8 16 spi.frequency(1000000);
je310 0:9ff3d26e2cb8 17 char myChar = 0x01;
je310 0:9ff3d26e2cb8 18 int count = 0;
je310 0:9ff3d26e2cb8 19 int skip = 0;
je310 0:9ff3d26e2cb8 20 dir = 1;
je310 0:9ff3d26e2cb8 21 step = 1;
je310 0:9ff3d26e2cb8 22
je310 0:9ff3d26e2cb8 23 // Send 0x8f, the command to read the WHOAMI register
je310 0:9ff3d26e2cb8 24
je310 0:9ff3d26e2cb8 25
je310 0:9ff3d26e2cb8 26 for(int i = 0; i<8; i++){
je310 0:9ff3d26e2cb8 27 spi.write(myChar);
je310 0:9ff3d26e2cb8 28 }
je310 0:9ff3d26e2cb8 29
je310 0:9ff3d26e2cb8 30 while(1){
je310 0:9ff3d26e2cb8 31 fire = 0;
je310 0:9ff3d26e2cb8 32 step = 0;
je310 0:9ff3d26e2cb8 33 wait_us(250);
je310 0:9ff3d26e2cb8 34 fire = 1;
je310 0:9ff3d26e2cb8 35 step = 1;
je310 0:9ff3d26e2cb8 36 wait_us(10);
je310 0:9ff3d26e2cb8 37 if(count == 80 && skip == 0){
je310 0:9ff3d26e2cb8 38 if(myChar != 0x80){
je310 0:9ff3d26e2cb8 39 myChar = myChar << 1;
je310 0:9ff3d26e2cb8 40 }
je310 0:9ff3d26e2cb8 41 else{
je310 0:9ff3d26e2cb8 42 myChar = 0x01;
je310 0:9ff3d26e2cb8 43 skip = 1;
je310 0:9ff3d26e2cb8 44 }
je310 0:9ff3d26e2cb8 45
je310 0:9ff3d26e2cb8 46
je310 0:9ff3d26e2cb8 47 for(int i = 0; i<8; i++){
je310 0:9ff3d26e2cb8 48 spi.write(myChar);
je310 0:9ff3d26e2cb8 49 }
je310 0:9ff3d26e2cb8 50 count =0;
je310 0:9ff3d26e2cb8 51 }
je310 0:9ff3d26e2cb8 52
je310 0:9ff3d26e2cb8 53 count++;
je310 0:9ff3d26e2cb8 54 if(skip ==1){
je310 0:9ff3d26e2cb8 55 //count = 20;
je310 0:9ff3d26e2cb8 56 skip = 0;
je310 0:9ff3d26e2cb8 57 }
je310 0:9ff3d26e2cb8 58
je310 0:9ff3d26e2cb8 59 }
je310 0:9ff3d26e2cb8 60
je310 0:9ff3d26e2cb8 61 }