cagdas d
/
lauftest
initial commit and publish
main.cpp
- Committer:
- kafka
- Date:
- 2020-01-13
- Revision:
- 3:c1dee77b3e02
- Parent:
- 2:6a2101a16cef
- Child:
- 4:a1b882076f41
File content as of revision 3:c1dee77b3e02:
#include "mbed.h" // #define BUTTON1 A1 #define BUTTON1 p14 BusOut myLeds(LED1,LED2,LED3,LED4); DigitalIn button(BUTTON1); void nibbleLeds(int value); void printb(uint8_t x); int modifyBit(int x, uint8_t position, bool State); int lauflicht(bool richtung, int time, int &anz); 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(myleds); value = modifyBit(value, 2, 1); printb(myleds); printb(modifyBit(value, 3, 1)); wait(0.1); } void nibbleLeds(int value) { myLeds = value % 16; } void printb(uint8_t x){ for(int i = sizeof() << 3; i; i--) putchar('0' + ((x >> (i - 1)) & 1)); printf("\n"); } int modifyBit(int x, uint8_t position, bool State){ int mask = 1 << position; int state = int(State); return (x & ~mask) | ((state << position) & mask); } 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 = 0x08; } else { lauf = lauf >> 1; if ( lauf == 0) lauf = 0x08; } if (button) break; wait_ms(time); anz++; } return anz; }