A simple Larsen scanner using the onboard LEDs.... because there aren't enough of these already.

Committer:
benbitwonder
Date:
Sat Feb 27 18:47:50 2010 +0000
Revision:
0:1caccdf9730e

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
benbitwonder 0:1caccdf9730e 1 #include "mbed.h"
benbitwonder 0:1caccdf9730e 2
benbitwonder 0:1caccdf9730e 3 BusOut ledarray(LED1, LED2, LED3, LED4);
benbitwonder 0:1caccdf9730e 4
benbitwonder 0:1caccdf9730e 5 int main(void) {
benbitwonder 0:1caccdf9730e 6 //A flag to indicate which direction we should rotate
benbitwonder 0:1caccdf9730e 7 bool flag = 0;
benbitwonder 0:1caccdf9730e 8 //the states of the outputs
benbitwonder 0:1caccdf9730e 9 char outstates = 1;
benbitwonder 0:1caccdf9730e 10
benbitwonder 0:1caccdf9730e 11 //Place the outputs in a known state
benbitwonder 0:1caccdf9730e 12 ledarray=1;
benbitwonder 0:1caccdf9730e 13
benbitwonder 0:1caccdf9730e 14 //Infinite loop
benbitwonder 0:1caccdf9730e 15 while(1) {
benbitwonder 0:1caccdf9730e 16 wait(0.25);
benbitwonder 0:1caccdf9730e 17 if (!flag) {
benbitwonder 0:1caccdf9730e 18 outstates *= 2;
benbitwonder 0:1caccdf9730e 19 if ((outstates>>3)&&1) flag=1;
benbitwonder 0:1caccdf9730e 20 } else {
benbitwonder 0:1caccdf9730e 21 outstates /=2;
benbitwonder 0:1caccdf9730e 22 if (outstates==1) flag=0;
benbitwonder 0:1caccdf9730e 23 }
benbitwonder 0:1caccdf9730e 24 ledarray=outstates;
benbitwonder 0:1caccdf9730e 25 }
benbitwonder 0:1caccdf9730e 26 }
benbitwonder 0:1caccdf9730e 27
benbitwonder 0:1caccdf9730e 28