richard misi / Mbed OS mbed-os-blinky-151018

Fork of mbed-os-example-blinky by richard misi

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 #define TSample        0.001
00004 #define Periode        700
00005 #define onTime          50
00006 
00007 DigitalOut led1(LED1);
00008 DigitalOut led2(LED2);
00009 DigitalOut led3(LED3);
00010 DigitalOut led4(LED4);
00011 
00012 DigitalOut son(p8);
00013 
00014 int wdt = 0;
00015 int ledCT= 1;
00016 int ledON= 0;
00017 
00018 Ticker TMainProcess;
00019 
00020 
00021 void MainProcess_Isr(){
00022     --wdt; 
00023     if((wdt< onTime)& (wdt> 0)){ledON= 1;};
00024     if(wdt<= 0){ledON= 0; wdt= Periode; 
00025                 switch(ledCT){
00026                         case 1: ledCT= 2; break;
00027                         case 2: ledCT= 3; break;
00028                         case 3: ledCT= 4; break;
00029                         case 4: ledCT= 1; break; 
00030                         default: break;   
00031                         };
00032                 };  
00033                 
00034                 switch(ledCT){
00035                         case 1: led1= ledON; led2= 0; led3= 0; led4= 0;  break;
00036                         case 2: led1= 0; led2= ledON; led3= 0; led4= 0;  break;
00037                         case 3: led1= 0; led2= 0; led3= ledON; led4= 0;  break;
00038                         case 4: led1= 0; led2= 0; led3= 0; led4= ledON;  break;
00039                         default: led1= 0; led2= 0; led3= 0; led4= 0; break;                        
00040                         
00041                         };
00042                
00043                 
00044                 
00045     }
00046     
00047     
00048 
00049 void init(void){
00050     son= 0;
00051     TMainProcess.attach(&MainProcess_Isr, TSample); 
00052     }
00053 
00054 
00055 // main() runs in its own thread in the OS
00056 void main() {
00057      init();
00058      while (true) {};
00059 }
00060