Stefan Simbürger / Mbed 2 deprecated Test_13012020

Dependencies:   mbed

main.cpp

Committer:
Ursukar
Date:
2020-01-13
Revision:
4:4f42c2344e23
Parent:
3:fa690e648ff7
Child:
5:9df9f5f6fa57

File content as of revision 4:4f42c2344e23:

#include "mbed.h"
#define Button1 p14

void nibbleLeds(int value);
int lauflicht(bool richtung, int time, int&anz);
void printb(uint8_t);
BusOut myleds(LED1, LED2, LED3, LED4);
//DigitalIn button(BUTTON1);

const int INIT = 0x03;

int main() {
    int anzahl, anz;
    uint8_t value = INIT;
    
    anzahl = lauflicht(true, 400, anz=0);
    printf("anzahl= %d\n", anzahl);
    nibbleLeds(value);
    printb(value);
    printb(myleds);
    wait(0.1);
}

void nibbleLeds(int value)
{
    myleds = value%16;
}

int lauflicht(bool richtung, int time, int&anz)
{
    uint8_t lauf = 0x01;
    
    if(!richtung)
        lauf = 0x08;
    
    while(1){
        nibbleLeds(lauf&0x0F);
        if(richtung){
            lauf = lauf << 1;
            
            if(lauf > 8)
                lauf = 0x01;
        }
        else{
            lauf = lauf >> 1;
            if(lauf == 0)
                lauf = 0x08;
        }
        if(button)
            break;
        wait_ms(time);
        anz++;
    }
    return anz;
}

void printb(uint8_t x)
{
    for(int i=8; i; i--)
        printf("%d", (x>>(i-1)) &1);
    printf("\n");
}