hu en es hu en en en hu hu de hu hu hu hu hu hu hu hu hu hu kn hu hu kn kn hu kn hu hu hu hu hu hu hu zh hu cs ja cs hu kn fr hu ceb hu hu ro en kn pl en kn pl en kn hu en kn hu hu en en en kn kn hu hu hu en
Ebben a cikkben olyan utasításokkal fogunk foglalkozni amik lehetővé teszik számunkra, hogy
bonyolult utasítás ciklusok felépítése nélkül, egyszerűen választhassunk a különböző lehetőségek
közül a programban. Erre kifejlesztett utasítás pár a switch – case, melyekkel könnyen orvosolhatjuk a többszörös elágazások problémáját.
Nézzünk egy ilyen esetválasztó mintát:
Switch (kapcsoló) ez után adjuk meg zárójelben azt a változót ami tárolja az összehasonlítandó
értékünket. A case érték1:ben tárolt utasítások végrehajtódnak ha „érték1” megegyezik „változó” értékével, ha nem ellenőrzi case érték2:-t. Egyezőség esetén végrehajtódik ez , különben tovább lép a következőre, ez itt a default (alapértelmezett) utasítás ami csak akkor hajtódik végre ha egyik case esetválasztás sem igaz.
A case blokkok záró utasítása a break, ami a kilépést biztosítja a switch esetválasztóból, de ugyan
így használható különböző ciklusokból való kilépésre is.
Első lépésben építsünk egy négy visszajelző ledböl álló kapcsolást, ezek fogják mutatni nekünk,
hogy rendesen működik-e a programunk. 270-330-as áramkorlátozó ellenállásokon keresztül kapcsoljuk a ledeket az Uno 2-5 kimeneteihez, kapcsoljunk rá még egy GND-t és kb. ennyi.
A következő progit töltsük fel:
pinMode(2,OUTPUT); // a setup beállítja a kimeneti pineket
Serial.begin(9600);//és a soros monitor sebességét
if(Serial.available())// figyeli a soros monitor bevitei mezőjét ha nem üres tovább lép a progi
int ertek= Serial.read();// beolvassa a soros monitorba beírt értéket
switch (ertek){ //itt pedig összehasonlítja azt esetválasztókkal
case 49: //ascII „1”
case 50: // ascII „2”
case 51: // asc”3”
default: // végrehajtódik ha egyik eset se igaz
delay(1000); // várakozunk 1 mp eddig villágít az épp bekapcsolt led
digitalWrite(2,LOW); // aztán kikapcsoljuk azt
a progi a soros monitoron keresztül elküldött karakter asc kódját olvassa ki és ezt hasonlítja össze
a case-kban levő értékekkel.
Az ascII táblázat megtalálható :http://hu.wikipedia.org/wiki/ASCII oldalon.
Homepage | contact | html | css | © 2007 Anyone | Design by www.mitchinson.net | This work is licensed under a Creative Commons Attribution 3.0 License