Christian Weiß
/
mbed_Btn_Test1
Diff: main.cpp
- Revision:
- 0:d3aabd70ecde
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Nov 15 18:02:16 2018 +0000 @@ -0,0 +1,73 @@ +#include "mbed.h" + +// DigitalOut eine Variable für ein Bit +// BusOut eine Variable für eine ganze Bitgruppe +// Warum ist es sinnvolll dass die Variablen D20_D19_... heissen +// Zusammenhang der untenstehenden Deklarationen mit der Boardbeschreibung (Skript M0) + +// Alle 12-Leds des M0-Boards zu einer Bitgruppe zusammenfassen + +// LSB MSB +// 2^0 2^1 2^2 2^11 +BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); +// D20 D19 D18 D17 D16 D15 D14 D13 D4 D3 D2 D1 + + +// SW1 SW2 SW3 SW4 +// Bit0 Bit1 Bit2 Bit3 +BusIn btn (P0_10, P0_15, P0_23, P1_16); + +void BtnBlinker1(); +//SW4 => D17 blinken +//SW3 => D18 blinken +//SW2 => D19 +//SW1 => D20 + +void BtnLogic(); +// wenn Sw1 und Sw2 gedrückt sollen D20 und D19 leuchten + +// wenn Sw3 !!oder!! Sw4 gedrückt sollen D18 und D17 leuchten + +// ansonsten finster + +int main() +{ + lb = 0; + while(1) + { + BtnLogic(); + } + +} + +void BtnBlinker1() +{ + lb = 0; + + if( btn & 8) // SW4 + lb = lb | 8; + if( btn & 4) // SW3 + lb = lb | 4; + if( btn & 2) // SW2 + lb = lb | 1; + if( btn & 1) // SW1 + lb = lb | 2; + + wait_ms(200); + lb = 0; + wait_ms(200); + + +} + + +void BtnLogic() +{ + + + if (btn & 1 && btn & 2) + lb = lb | 1; + lb = lb | 2; + + } +