if (S0 = = 0){
L1 = 1;
}
L1 = 0;
while (S0 = = 0){
L1 = 1;
}
L1 = 0;
In dieser Aufgabe soll der Unterschied zwischen while-Schleife, for-Schleife und einer Entscheidung untersucht werden.
int i;
for(i = 0; i < 10; i++){
L1 = !L1;
}
while(1)
-Schleife keine Änderung im Schleifenkörper?S0
gedrückt ist,
wird hier die LED L1
auch immer wieder ausgeschaltet, so dass die LED im Mittel nur mit halber Helligkeit leuchtet.
Bei der Schleife bleibt das Programm solange im Schleifenkörper bis der Taster S0
losgelassen wird. Dementsprechend
leuchtet die LED L1
mit voller Helligkeit.
int i=0;
while(i < 10){
L1 = !L1;
i++;
}
1
, sowieso immer wahr istDas Arbeiten mit merker-Variablen wird trainiert.
S0
soll der Zustand der Variable merker
geändert und gespeichert werden. Die LED L1
soll je nach Zustand der Variable an oder aus sein.S0
soll der Zustand der Variable
merker
geändert und gespeichert werden. Die LED L1
soll je nach Zustand der Variable blinken oder aus sein.Schreibe die C-Datei 04-Merker-3.c. Dabei sollen beim Betätigen von SU
die Zählvariable
wert
um eins erhöht werden. Achte darauf dass wert
nicht größer als vier wird.
Beim Betätigen von SD
soll wert
um eins verringert werden. Achte darauf dass wert
niemals kleiner als Null wird.
Entsprechend des aktuellen Wertes von wert
soll keine oder die LEDs L1 – L4 leuchten.
Hinweis: Damit der Controller pro Tastendruck die Zählvariable nur um eins erhöht, muss das Programm mit der Schleife
while(SU == 0);
solange angehalten werden, bis der Anwender SU
loslässt.
Schreibe die C-Datei 04-Merker-4.c. Beim langen Betätigen von S0
(> 1 s) wird die LED L1
ein-, bzw. ausgeschaltet. Beim kurzen Betätigen wird das Blinken aktiviert