Christian Weiß
/
mbed_Btn_Test1
main.cpp
- Committer:
- Wizo
- Date:
- 2018-11-15
- Revision:
- 0:d3aabd70ecde
File content as of revision 0:d3aabd70ecde:
#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; }