mbed_Btn_Test1

Dependencies:   mbed

Committer:
Wizo
Date:
Thu Nov 15 18:02:16 2018 +0000
Revision:
0:d3aabd70ecde
mbed_Btn_Test1

Who changed what in which revision?

UserRevisionLine numberNew 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