Josef Humer
/
C02_HESEG_Lauflicht
8+3 LED Lauflicht, mit Zaehler, NUCLEO F303, Busdefinition, Humer
main.cpp@0:b1dad6d417c7, 2019-11-22 (annotated)
- Committer:
- heseg
- Date:
- Fri Nov 22 09:41:08 2019 +0000
- Revision:
- 0:b1dad6d417c7
Lauflicht und Zaehler, nucleo F303
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
heseg | 0:b1dad6d417c7 | 1 | /* ********************************************************** */ |
heseg | 0:b1dad6d417c7 | 2 | /* *************** Projekt: BuNuc_Lauflicht und Zaehler ***** */ |
heseg | 0:b1dad6d417c7 | 3 | /* BULME Graz, Abteilung Elektronik und Technische Informatik */ |
heseg | 0:b1dad6d417c7 | 4 | /* ********** C02-HESEG-Lauflicht *************************** */ |
heseg | 0:b1dad6d417c7 | 5 | /* ********************************************************** */ |
heseg | 0:b1dad6d417c7 | 6 | |
heseg | 0:b1dad6d417c7 | 7 | #include "mbed.h" |
heseg | 0:b1dad6d417c7 | 8 | |
heseg | 0:b1dad6d417c7 | 9 | BusOut myleds(D2,D3,D6,D9,D11,D12,A6,D13,D10,D0,D1); // Definition der 4 LEDs als Bus |
heseg | 0:b1dad6d417c7 | 10 | // D1 = LSB |
heseg | 0:b1dad6d417c7 | 11 | |
heseg | 0:b1dad6d417c7 | 12 | /* ************** Variablendefinition *************************** */ |
heseg | 0:b1dad6d417c7 | 13 | int i; // Definition der Variable i, Datentyp Integer |
heseg | 0:b1dad6d417c7 | 14 | int k; |
heseg | 0:b1dad6d417c7 | 15 | int counter; |
heseg | 0:b1dad6d417c7 | 16 | /* ***************** Hauptprogramm ************************ */ |
heseg | 0:b1dad6d417c7 | 17 | main() |
heseg | 0:b1dad6d417c7 | 18 | { |
heseg | 0:b1dad6d417c7 | 19 | while(1) // Endlosschleife |
heseg | 0:b1dad6d417c7 | 20 | { |
heseg | 0:b1dad6d417c7 | 21 | while(k==0) |
heseg | 0:b1dad6d417c7 | 22 | { |
heseg | 0:b1dad6d417c7 | 23 | myleds=1<<i; // Daten um 1 bit nach links schieben |
heseg | 0:b1dad6d417c7 | 24 | wait(0.2); // warte 200msec |
heseg | 0:b1dad6d417c7 | 25 | i++; // Variable i um den Wert 1 erhöhen |
heseg | 0:b1dad6d417c7 | 26 | if(i==11) |
heseg | 0:b1dad6d417c7 | 27 | { i=0; k=1;} // Wenn i=4, dann Rücksetzen |
heseg | 0:b1dad6d417c7 | 28 | } |
heseg | 0:b1dad6d417c7 | 29 | while(k==1) // Rücklauf |
heseg | 0:b1dad6d417c7 | 30 | { |
heseg | 0:b1dad6d417c7 | 31 | myleds=1<<(10-i); // Daten um 1 bit nach links schieben |
heseg | 0:b1dad6d417c7 | 32 | wait(0.2); // warte 200msec |
heseg | 0:b1dad6d417c7 | 33 | i++; // Variable i um den Wert 1 erhöhen |
heseg | 0:b1dad6d417c7 | 34 | if(i==10) |
heseg | 0:b1dad6d417c7 | 35 | { i=0; k=0; counter++;} // Wenn i=4, dann Rücksetzen |
heseg | 0:b1dad6d417c7 | 36 | } |
heseg | 0:b1dad6d417c7 | 37 | // Anzeige Anzahl der Durchläufe |
heseg | 0:b1dad6d417c7 | 38 | myleds = counter; |
heseg | 0:b1dad6d417c7 | 39 | wait(5); |
heseg | 0:b1dad6d417c7 | 40 | } // end while |
heseg | 0:b1dad6d417c7 | 41 | } |
heseg | 0:b1dad6d417c7 | 42 |