mbed-os5

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

Committer:
RCMISbed
Date:
Mon Oct 15 16:04:00 2018 +0000
Revision:
78:aedfba031509
Parent:
77:d67966bc6494
blinky-os

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 0:2757d7abb7d9 1 #include "mbed.h"
Jonathan Austin 0:2757d7abb7d9 2
RCMISbed 77:d67966bc6494 3 #define TSample 0.001
RCMISbed 77:d67966bc6494 4 #define Periode 700
RCMISbed 78:aedfba031509 5 #define onTime 50
RCMISbed 77:d67966bc6494 6
RCMISbed 78:aedfba031509 7 DigitalOut led1(LED1);
RCMISbed 78:aedfba031509 8 DigitalOut led2(LED2);
RCMISbed 78:aedfba031509 9 DigitalOut led3(LED3);
RCMISbed 78:aedfba031509 10 DigitalOut led4(LED4);
RCMISbed 78:aedfba031509 11
RCMISbed 76:0d9524062816 12 DigitalOut son(p8);
RCMISbed 76:0d9524062816 13
RCMISbed 77:d67966bc6494 14 int wdt = 0;
RCMISbed 78:aedfba031509 15 int ledCT= 1;
RCMISbed 78:aedfba031509 16 int ledON= 0;
RCMISbed 77:d67966bc6494 17
RCMISbed 77:d67966bc6494 18 Ticker TMainProcess;
RCMISbed 77:d67966bc6494 19
RCMISbed 78:aedfba031509 20
RCMISbed 77:d67966bc6494 21 void MainProcess_Isr(){
RCMISbed 77:d67966bc6494 22 --wdt;
RCMISbed 78:aedfba031509 23 if((wdt< onTime)& (wdt> 0)){ledON= 1;};
RCMISbed 78:aedfba031509 24 if(wdt<= 0){ledON= 0; wdt= Periode;
RCMISbed 78:aedfba031509 25 switch(ledCT){
RCMISbed 78:aedfba031509 26 case 1: ledCT= 2; break;
RCMISbed 78:aedfba031509 27 case 2: ledCT= 3; break;
RCMISbed 78:aedfba031509 28 case 3: ledCT= 4; break;
RCMISbed 78:aedfba031509 29 case 4: ledCT= 1; break;
RCMISbed 78:aedfba031509 30 default: break;
RCMISbed 78:aedfba031509 31 };
RCMISbed 78:aedfba031509 32 };
RCMISbed 78:aedfba031509 33
RCMISbed 78:aedfba031509 34 switch(ledCT){
RCMISbed 78:aedfba031509 35 case 1: led1= ledON; led2= 0; led3= 0; led4= 0; break;
RCMISbed 78:aedfba031509 36 case 2: led1= 0; led2= ledON; led3= 0; led4= 0; break;
RCMISbed 78:aedfba031509 37 case 3: led1= 0; led2= 0; led3= ledON; led4= 0; break;
RCMISbed 78:aedfba031509 38 case 4: led1= 0; led2= 0; led3= 0; led4= ledON; break;
RCMISbed 78:aedfba031509 39 default: led1= 0; led2= 0; led3= 0; led4= 0; break;
RCMISbed 78:aedfba031509 40
RCMISbed 78:aedfba031509 41 };
RCMISbed 78:aedfba031509 42
RCMISbed 78:aedfba031509 43
RCMISbed 78:aedfba031509 44
RCMISbed 77:d67966bc6494 45 }
RCMISbed 78:aedfba031509 46
RCMISbed 78:aedfba031509 47
RCMISbed 77:d67966bc6494 48
RCMISbed 77:d67966bc6494 49 void init(void){
RCMISbed 77:d67966bc6494 50 son= 0;
RCMISbed 77:d67966bc6494 51 TMainProcess.attach(&MainProcess_Isr, TSample);
RCMISbed 77:d67966bc6494 52 }
RCMISbed 77:d67966bc6494 53
Jonathan Austin 0:2757d7abb7d9 54
Jonathan Austin 1:846c97078558 55 // main() runs in its own thread in the OS
RCMISbed 77:d67966bc6494 56 void main() {
RCMISbed 77:d67966bc6494 57 init();
RCMISbed 77:d67966bc6494 58 while (true) {};
Jonathan Austin 0:2757d7abb7d9 59 }
Jonathan Austin 1:846c97078558 60