Mumin Hadzic
/
TINF_TestProgramm
Main
main.cpp
- Committer:
- muminhadzic
- Date:
- 2020-01-13
- Revision:
- 4:f3985b5c3549
- Parent:
- 3:aaaaf9f23f46
File content as of revision 4:f3985b5c3549:
#include "mbed.h" #define BUTTON1 p14 //#define BUTTON1 A1 int lauflicht(bool richtung,int time, int &anz); int modifyBit(int x, unsigned char position, bool State); void nibbleLeds(int value); void printb(uint8_t x); 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); value= modifyBit (value,2,1); printb(myleds); printb(modifyBit (INIT,3,1)); wait(0.1); } //************************************************************** void nibbleLeds(int value) { myleds= value%16; } void printb(uint8_t x){ for(int i=sizeof(x)<<3;i;i--) putchar('0'+((x>>(i-1))&1)); printf("\n"); } int lauflicht(bool richtung,int time, int &anz){ int i; 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; } int modifyBit(int x, unsigned char position, bool State) { int mask=1<< position; int state = int(State); return(x & ~mask) | ((state<<position)& mask); }