Dependencies:   mbed

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;
    
    }