Christian Weiß
/
mbed_Btn_Test1
mbed_Btn_Test1
main.cpp@0:d3aabd70ecde, 2018-11-15 (annotated)
- Committer:
- Wizo
- Date:
- Thu Nov 15 18:02:16 2018 +0000
- Revision:
- 0:d3aabd70ecde
mbed_Btn_Test1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wizo | 0:d3aabd70ecde | 1 | #include "mbed.h" |
Wizo | 0:d3aabd70ecde | 2 | |
Wizo | 0:d3aabd70ecde | 3 | // DigitalOut eine Variable für ein Bit |
Wizo | 0:d3aabd70ecde | 4 | // BusOut eine Variable für eine ganze Bitgruppe |
Wizo | 0:d3aabd70ecde | 5 | // Warum ist es sinnvolll dass die Variablen D20_D19_... heissen |
Wizo | 0:d3aabd70ecde | 6 | // Zusammenhang der untenstehenden Deklarationen mit der Boardbeschreibung (Skript M0) |
Wizo | 0:d3aabd70ecde | 7 | |
Wizo | 0:d3aabd70ecde | 8 | // Alle 12-Leds des M0-Boards zu einer Bitgruppe zusammenfassen |
Wizo | 0:d3aabd70ecde | 9 | |
Wizo | 0:d3aabd70ecde | 10 | // LSB MSB |
Wizo | 0:d3aabd70ecde | 11 | // 2^0 2^1 2^2 2^11 |
Wizo | 0:d3aabd70ecde | 12 | BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); |
Wizo | 0:d3aabd70ecde | 13 | // D20 D19 D18 D17 D16 D15 D14 D13 D4 D3 D2 D1 |
Wizo | 0:d3aabd70ecde | 14 | |
Wizo | 0:d3aabd70ecde | 15 | |
Wizo | 0:d3aabd70ecde | 16 | // SW1 SW2 SW3 SW4 |
Wizo | 0:d3aabd70ecde | 17 | // Bit0 Bit1 Bit2 Bit3 |
Wizo | 0:d3aabd70ecde | 18 | BusIn btn (P0_10, P0_15, P0_23, P1_16); |
Wizo | 0:d3aabd70ecde | 19 | |
Wizo | 0:d3aabd70ecde | 20 | void BtnBlinker1(); |
Wizo | 0:d3aabd70ecde | 21 | //SW4 => D17 blinken |
Wizo | 0:d3aabd70ecde | 22 | //SW3 => D18 blinken |
Wizo | 0:d3aabd70ecde | 23 | //SW2 => D19 |
Wizo | 0:d3aabd70ecde | 24 | //SW1 => D20 |
Wizo | 0:d3aabd70ecde | 25 | |
Wizo | 0:d3aabd70ecde | 26 | void BtnLogic(); |
Wizo | 0:d3aabd70ecde | 27 | // wenn Sw1 und Sw2 gedrückt sollen D20 und D19 leuchten |
Wizo | 0:d3aabd70ecde | 28 | |
Wizo | 0:d3aabd70ecde | 29 | // wenn Sw3 !!oder!! Sw4 gedrückt sollen D18 und D17 leuchten |
Wizo | 0:d3aabd70ecde | 30 | |
Wizo | 0:d3aabd70ecde | 31 | // ansonsten finster |
Wizo | 0:d3aabd70ecde | 32 | |
Wizo | 0:d3aabd70ecde | 33 | int main() |
Wizo | 0:d3aabd70ecde | 34 | { |
Wizo | 0:d3aabd70ecde | 35 | lb = 0; |
Wizo | 0:d3aabd70ecde | 36 | while(1) |
Wizo | 0:d3aabd70ecde | 37 | { |
Wizo | 0:d3aabd70ecde | 38 | BtnLogic(); |
Wizo | 0:d3aabd70ecde | 39 | } |
Wizo | 0:d3aabd70ecde | 40 | |
Wizo | 0:d3aabd70ecde | 41 | } |
Wizo | 0:d3aabd70ecde | 42 | |
Wizo | 0:d3aabd70ecde | 43 | void BtnBlinker1() |
Wizo | 0:d3aabd70ecde | 44 | { |
Wizo | 0:d3aabd70ecde | 45 | lb = 0; |
Wizo | 0:d3aabd70ecde | 46 | |
Wizo | 0:d3aabd70ecde | 47 | if( btn & 8) // SW4 |
Wizo | 0:d3aabd70ecde | 48 | lb = lb | 8; |
Wizo | 0:d3aabd70ecde | 49 | if( btn & 4) // SW3 |
Wizo | 0:d3aabd70ecde | 50 | lb = lb | 4; |
Wizo | 0:d3aabd70ecde | 51 | if( btn & 2) // SW2 |
Wizo | 0:d3aabd70ecde | 52 | lb = lb | 1; |
Wizo | 0:d3aabd70ecde | 53 | if( btn & 1) // SW1 |
Wizo | 0:d3aabd70ecde | 54 | lb = lb | 2; |
Wizo | 0:d3aabd70ecde | 55 | |
Wizo | 0:d3aabd70ecde | 56 | wait_ms(200); |
Wizo | 0:d3aabd70ecde | 57 | lb = 0; |
Wizo | 0:d3aabd70ecde | 58 | wait_ms(200); |
Wizo | 0:d3aabd70ecde | 59 | |
Wizo | 0:d3aabd70ecde | 60 | |
Wizo | 0:d3aabd70ecde | 61 | } |
Wizo | 0:d3aabd70ecde | 62 | |
Wizo | 0:d3aabd70ecde | 63 | |
Wizo | 0:d3aabd70ecde | 64 | void BtnLogic() |
Wizo | 0:d3aabd70ecde | 65 | { |
Wizo | 0:d3aabd70ecde | 66 | |
Wizo | 0:d3aabd70ecde | 67 | |
Wizo | 0:d3aabd70ecde | 68 | if (btn & 1 && btn & 2) |
Wizo | 0:d3aabd70ecde | 69 | lb = lb | 1; |
Wizo | 0:d3aabd70ecde | 70 | lb = lb | 2; |
Wizo | 0:d3aabd70ecde | 71 | |
Wizo | 0:d3aabd70ecde | 72 | } |
Wizo | 0:d3aabd70ecde | 73 |