Mao jesephin
/
LaufTest
test
main.cpp
- Committer:
- jesephin
- Date:
- 2020-01-13
- Revision:
- 7:8f0594cbc89a
- Parent:
- 6:9b523c7d1475
- Child:
- 8:2f1b2d1774a3
File content as of revision 7:8f0594cbc89a:
#include "mbed.h" #define BUTTON1 p14 //M3:push joystick pin //#define BUTTON1 A1 //NuCLEO: Taster A1 int modifyBit(int x,unsigned char position,bool State); int lauflicht(bool richtung,int time,int &anz); void nibbbleLeds(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); nibbbleLeds(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; } int modifyBit(intx,unit8_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) { int i; unit8_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(unit8_t x) { for(int i=sizeof(x)<<3;i;i--) putchar('0')+((x>>(i-1)&1)); printf("\n"); } void nibbleLeds(int value) { myled=value%16; }