Stefan Hutter
/
test_hutter_1
Testkommentierung
main.cpp@2:eb423fa2307d, 2020-01-13 (annotated)
- 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?
User | Revision | Line number | New 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 | } |