Sample of http://ohurochan.jp/blog/?p=439

Dependencies:   mbed

Fork of HelloWorld by Simon Ford

Committer:
tandk1124
Date:
Mon Mar 06 12:56:36 2017 +0000
Revision:
3:af4bdd802643
Parent:
2:5a1cb5bdeae6
new

Who changed what in which revision?

UserRevisionLine numberNew contents of line
simon 0:fb6bbc10ffa0 1 #include "mbed.h"
simon 0:fb6bbc10ffa0 2
tandk1124 2:5a1cb5bdeae6 3 DigitalOut leds[] = {LED1, LED2, LED3, LED4};
tandk1124 2:5a1cb5bdeae6 4 int numLeds = sizeof(leds)/sizeof(DigitalOut);
tandk1124 2:5a1cb5bdeae6 5
tandk1124 2:5a1cb5bdeae6 6 class CtrlLEDs{
tandk1124 2:5a1cb5bdeae6 7 public:
tandk1124 2:5a1cb5bdeae6 8 static void ALLOFF(){
tandk1124 2:5a1cb5bdeae6 9 for(int i = 0 ; i < numLeds ; i++){
tandk1124 2:5a1cb5bdeae6 10 leds[i] = 0;
tandk1124 2:5a1cb5bdeae6 11 }
tandk1124 2:5a1cb5bdeae6 12 };
tandk1124 2:5a1cb5bdeae6 13 static void ON(int idx){ leds[idx] = 1; };
tandk1124 2:5a1cb5bdeae6 14 static void OFF(int idx){ leds[idx] = 0; };
tandk1124 2:5a1cb5bdeae6 15
tandk1124 2:5a1cb5bdeae6 16 static void ON_Bit(int flag) {
tandk1124 2:5a1cb5bdeae6 17 if(numLeds < 4) return;
tandk1124 2:5a1cb5bdeae6 18
tandk1124 2:5a1cb5bdeae6 19 leds[0] = ((flag & 0b1000) > 0) ? 1 : 0;
tandk1124 2:5a1cb5bdeae6 20 leds[1] = ((flag & 0b0100) > 0) ? 1 : 0;
tandk1124 2:5a1cb5bdeae6 21 leds[2] = ((flag & 0b0010) > 0) ? 1 : 0;
tandk1124 2:5a1cb5bdeae6 22 leds[3] = ((flag & 0x0001) > 0) ? 1 : 0;
tandk1124 2:5a1cb5bdeae6 23 };
tandk1124 2:5a1cb5bdeae6 24 };
simon 0:fb6bbc10ffa0 25
simon 0:fb6bbc10ffa0 26 int main() {
tandk1124 2:5a1cb5bdeae6 27 int loopCnt = 0;
tandk1124 2:5a1cb5bdeae6 28 CtrlLEDs::ALLOFF();
simon 0:fb6bbc10ffa0 29 while(1) {
tandk1124 2:5a1cb5bdeae6 30 if(loopCnt<=15){
tandk1124 2:5a1cb5bdeae6 31 CtrlLEDs::ON_Bit(loopCnt);
tandk1124 2:5a1cb5bdeae6 32 loopCnt++;
tandk1124 2:5a1cb5bdeae6 33 if(loopCnt > 15){
tandk1124 2:5a1cb5bdeae6 34 loopCnt = 0;
tandk1124 2:5a1cb5bdeae6 35 }
tandk1124 2:5a1cb5bdeae6 36 }
tandk1124 3:af4bdd802643 37 wait(0.5);
simon 0:fb6bbc10ffa0 38 }
simon 0:fb6bbc10ffa0 39 }