Testkommentierung

Dependencies:   mbed

Committer:
Hutzi
Date:
Mon Jan 13 18:04:45 2020 +0000
Revision:
2:eb423fa2307d
Parent:
1:2ec5da856794
Child:
3:4a342d7daf98
mit lauflicht

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hutzi 0:5eb9f22e64a6 1 #include "mbed.h"
Hutzi 0:5eb9f22e64a6 2
Hutzi 1:2ec5da856794 3 #define Button1 p14
Hutzi 1:2ec5da856794 4
Hutzi 0:5eb9f22e64a6 5 void nibbleleds(int); // funktionsprototyp
Hutzi 2:eb423fa2307d 6 int laufLicht(bool,int, int);
Hutzi 0:5eb9f22e64a6 7
Hutzi 0:5eb9f22e64a6 8 BusOut myleds(LED1,LED2,LED3,LED4); // 4leds zu bus zusammenfügen
Hutzi 1:2ec5da856794 9 DigitalIn button(Button1); // BTN. 1 als input
Hutzi 0:5eb9f22e64a6 10
Hutzi 0:5eb9f22e64a6 11
Hutzi 2:eb423fa2307d 12 const int INIT=3;
Hutzi 0:5eb9f22e64a6 13
Hutzi 0:5eb9f22e64a6 14 int main() {
Hutzi 2:eb423fa2307d 15
Hutzi 2:eb423fa2307d 16 int anz, anzahl;
Hutzi 2:eb423fa2307d 17 uint8_t value=INIT;
Hutzi 2:eb423fa2307d 18
Hutzi 2:eb423fa2307d 19 anzahl=laufLicht(true, 400, anz=0);
Hutzi 2:eb423fa2307d 20
Hutzi 2:eb423fa2307d 21
Hutzi 2:eb423fa2307d 22
Hutzi 2:eb423fa2307d 23 nibbleleds(value); // Nibbleleds_Funktion aufrufen und wert von value übergeben
Hutzi 2:eb423fa2307d 24
Hutzi 2:eb423fa2307d 25 while(1) {
Hutzi 0:5eb9f22e64a6 26 }
Hutzi 0:5eb9f22e64a6 27 }
Hutzi 0:5eb9f22e64a6 28
Hutzi 0:5eb9f22e64a6 29 void nibbleleds(int value){
Hutzi 0:5eb9f22e64a6 30 myleds=value%16; //value=3 modulo 16 ist 0 => leds dunkel
Hutzi 2:eb423fa2307d 31 }
Hutzi 2:eb423fa2307d 32
Hutzi 2:eb423fa2307d 33 int laufLicht(bool richtung, int time, int &anz){
Hutzi 2:eb423fa2307d 34 int i;
Hutzi 2:eb423fa2307d 35
Hutzi 2:eb423fa2307d 36 uint8_t lauf=0x8;
Hutzi 2:eb423fa2307d 37
Hutzi 2:eb423fa2307d 38 if(!richtung){ //.. wenn richtung == false....
Hutzi 2:eb423fa2307d 39 lauf=0x08; // ...setze lauf auf 8.
Hutzi 2:eb423fa2307d 40 }
Hutzi 2:eb423fa2307d 41
Hutzi 2:eb423fa2307d 42 while(1){
Hutzi 2:eb423fa2307d 43 nibbleleds(lauf&0x0F);
Hutzi 2:eb423fa2307d 44
Hutzi 2:eb423fa2307d 45 if(richtung){
Hutzi 2:eb423fa2307d 46 lauf=lauf<<1; // wert von lauf verdoppeln
Hutzi 2:eb423fa2307d 47 if(lauf>8){ // wenn wert von lauf >8...
Hutzi 2:eb423fa2307d 48 lauf=0x01; // dann setze lauf auf 1
Hutzi 2:eb423fa2307d 49 }
Hutzi 2:eb423fa2307d 50 }
Hutzi 2:eb423fa2307d 51 else{
Hutzi 2:eb423fa2307d 52 lauf=lauf>>1; // sonst wert von lauf halbieren
Hutzi 2:eb423fa2307d 53 if(lauf==0){ // wenn wert von lauf 0 ist,
Hutzi 2:eb423fa2307d 54 lauf=0x08; // ..setze lauf auf 8
Hutzi 2:eb423fa2307d 55 }
Hutzi 2:eb423fa2307d 56 }
Hutzi 2:eb423fa2307d 57
Hutzi 2:eb423fa2307d 58 if(button){ //wenn button == high...
Hutzi 2:eb423fa2307d 59 break; // .... verlasse lauflicht-Schleife
Hutzi 2:eb423fa2307d 60 }
Hutzi 2:eb423fa2307d 61
Hutzi 2:eb423fa2307d 62 wait_ms(time); // warten wert von time in mS
Hutzi 2:eb423fa2307d 63 anz++; // zähler für schleifendurchläufe um eins erhöhen
Hutzi 2:eb423fa2307d 64 }
Hutzi 2:eb423fa2307d 65 return anz; // Funktion verlassen und wert von anz zurueckgeben..
Hutzi 2:eb423fa2307d 66
Hutzi 0:5eb9f22e64a6 67 }