Christian Weiß / Mbed 2 deprecated Btn_RunLight

Dependencies:   mbed

Committer:
Wizo
Date:
Thu Nov 15 17:52:54 2018 +0000
Revision:
0:b768d98915e0
Btn_RunLight

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Wizo 0:b768d98915e0 1 #include "mbed.h"
Wizo 0:b768d98915e0 2
Wizo 0:b768d98915e0 3 // Lauflicht welches sich bei jedem Btn-Click um einen Schritt weiter bewegt
Wizo 0:b768d98915e0 4 // Das ist die Polling Lösung
Wizo 0:b768d98915e0 5
Wizo 0:b768d98915e0 6
Wizo 0:b768d98915e0 7 // LSB MSB
Wizo 0:b768d98915e0 8 // 2^0 2^1 2^2 2^11
Wizo 0:b768d98915e0 9 BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
Wizo 0:b768d98915e0 10 // D20 D19 D18 D17 D16 D15 D14 D13 D4 D3 D2 D1
Wizo 0:b768d98915e0 11
Wizo 0:b768d98915e0 12 DigitalIn sw4(P1_16);
Wizo 0:b768d98915e0 13
Wizo 0:b768d98915e0 14 int prevSw4 = 0; // Schalterzustand so wie er bei der letzten Abfrage war
Wizo 0:b768d98915e0 15
Wizo 0:b768d98915e0 16 void OneRunLightStep(); // einen Schritt eines LL ausführen
Wizo 0:b768d98915e0 17
Wizo 0:b768d98915e0 18 // CheckButton() liefert nur dann 1 wenn
Wizo 0:b768d98915e0 19 // am Button eine Flanke erkannt wurde
Wizo 0:b768d98915e0 20 int CheckButton();
Wizo 0:b768d98915e0 21
Wizo 0:b768d98915e0 22
Wizo 0:b768d98915e0 23 int main()
Wizo 0:b768d98915e0 24 {
Wizo 0:b768d98915e0 25 lb = 1;
Wizo 0:b768d98915e0 26
Wizo 0:b768d98915e0 27 while(1) {
Wizo 0:b768d98915e0 28 if(CheckButton())
Wizo 0:b768d98915e0 29 OneRunLightStep();
Wizo 0:b768d98915e0 30
Wizo 0:b768d98915e0 31 }
Wizo 0:b768d98915e0 32
Wizo 0:b768d98915e0 33 }
Wizo 0:b768d98915e0 34
Wizo 0:b768d98915e0 35 int CheckButton()
Wizo 0:b768d98915e0 36 {
Wizo 0:b768d98915e0 37 int ret = 0;
Wizo 0:b768d98915e0 38 if(sw4 == 1 && prevSw4 == 0)
Wizo 0:b768d98915e0 39 ret = 1;
Wizo 0:b768d98915e0 40 else
Wizo 0:b768d98915e0 41 ret = 0;
Wizo 0:b768d98915e0 42 prevSw4 = sw4; // den alten Schalterzustand merken
Wizo 0:b768d98915e0 43 return ret;
Wizo 0:b768d98915e0 44 }
Wizo 0:b768d98915e0 45
Wizo 0:b768d98915e0 46
Wizo 0:b768d98915e0 47 void OneRunLightStep()
Wizo 0:b768d98915e0 48 {
Wizo 0:b768d98915e0 49 if(lb == 0)
Wizo 0:b768d98915e0 50 lb = 1;
Wizo 0:b768d98915e0 51 else
Wizo 0:b768d98915e0 52 lb = lb << 1;
Wizo 0:b768d98915e0 53 }