2012.07.04.
13:31

Írta: harsanyireka

Hivatkozások 1.: Vezérlési szerkezetek

setup

void setup(){}

A kód legelején definiáljuk benne a változókat (inicializálás), pin módókat,
könyvtár használatát, stb. Csak egyszer fut le.

void setup() {

    Serial.begin(9600);

    pinMode(buttonPin, INPUT);

  }

 

 

loop 

void loop(){}

A setup után jön, folyamatosan azaz többször lefut, lehetővé teszi hogy
a program változzon és reagáljon.

void loop()

{

  if (digitalRead(buttonPin) == HIGH)

    serialWrite('H');

  else

    serialWrite('L');

   delay(1000);

}

 

 

VEZÉRLÉS

if

Feltétel és összehasonlító operátorok (mint nevük is sugallja, két érték
összehasonlítására szolgálnak).

Megvizsgálja, hogy az egyes feltételek teljesülnek-e, mint  pl. hogy a
bemeneti szám a megadott számérték felett marad-e. Ha a feltétel
teljesül lefut a kód, ha nem akkor átugorja a program. 

if (Változó > 50) {

   // csináld ezt

 }

 

A kapcsos zárójel elhagyható, a következő szintaxisok mind helyesek:

a) 

if (x > 120) digitalWrite(LEDpin, HIGH);

 

b) 

if (x > 120) digitalWrite(LEDpin, HIGH); 

 

c) 

if (x > 120){ digitalWrite(LEDpin, HIGH); } 

 

d)

if (x > 120){

     digitalWrite(LEDpin1, HIGH);

     digitalWrite(LEDpin2, HIGH);

   } 

                             

 

 

if - else

Ha az if-feltétel nem teljesül, akkor az else-feltétel fut le.

Az else folytatódhat egy másik if vizsgálattal, így összetettebb
vizsgálatokat futtathatunk ugyanazon időben végtelen számú
else if-feltételek vizsgálatával.

if (pin5Bemenet < 500) {

    // csináld A-t

  } else if (pin5Bemenet >= 1000) {

    // csináld B-t

  } else {

    // csináld C-t

  } 

 

 

for

Amíg a feltétel igaz, addig folyamatosan ismétlődve futnak le a kapcsos
zárójelben lévő állítások. Az inicializálás csak egyszer fut le, onnantól
mindig az aktuális állapotra vizsgálja meg a program, hogy igaz-e a feltétel,
ha igen elvégzi az érték növelését vagy csökkentését, lefutnak az állítások.
A folyamat akkor ér véget, amikor hamis lesz a feltétel.

Gyakran array-jel együtt használjuk. 

szintakszis: 

for (inicializálás; feltétel; növekedés értéke) {

//statement(s);

}

 

példa:

for (int i=0; i <= 255; i++){

           analogWrite(PWMpin, i);

           delay(10);

       } 

 

 

switch case

Az if-hez hasonlóan különböző feltételek végrehajtásához használjuk.
A switch állítás változó értékeit hasonlítja össze a case állításban
részletezett értékekkel, ha a két érték megyegyezik akkor lefut a case
állításban szereplő kód. Minden case álljtás végét a break kulcsszóval
adjuk meg, enélkül a következő kifejezés végrehajtása következne.

switch (var) {

    case 1:

      //csináld ezt ha a változó  1

      break;

    case 2:

      //csináld ezt ha a változó értéke egyenlő 2-vel

      break;

    default: 

      // ha semelyik nem egyezik, csináld az alapértelmezett 

      // állítást

      // az alapértelmezett állítás opcionális

  }

 

A var a változó értéke, amiket a különböző case állításokhoz hasonlítunk.
A label az érték amivel a változót összehasonlítjuk.

   case címke:

     // utasítások

     break;

  

  

while

Mindaddig folyamatosan fut le, amíg a kerek zárójelben lévő kifejezés hamissá
nem válik. Valaminek változnia kell a vizsgált változóban, különben a folyamat
soha nem ér véget. Ez történhet változó bevezetésével.

szintaxis:

while(kifejezés){

   // utasítás

}

 

példa: 

var = 0;

while(var < 200){

  // 200-szor lefutnak a ciklusban lévő utasítások

  var++;

 

  

do - while

A do a while-hoz hasonlóan működik, de a ciklus végén lévő feltételt vizsgálja,
ezért a do ciklus mindig lefut legalább egyszer.

Szintaxis:

do {

     // utasítás blokk

 } while (feltétel vizsgálata);

 

Példa:

do

{

  delay(50);          // várakozás a szenzorra

  x = readSensors();  // kiolvassa a szenzorból az értéket

} while (x < 100); // amit összehasonlít

 

  

  

break

A do, for, while ciklusokból és a switch állításból való kilépésre használjuk. Példa:

 

for (x = 0; x < 255; x ++)

{

    digitalWrite(PWMpin, x);

    sens = analogRead(sensorPin);  

    if (sens > threshold){      // bail out on sensor detect

       x = 0;

       break;

    }  

    delay(50);

}

  

  

continue

Átugorja az ismétlések lefuttatását a ciklusokban (do, for, while) majd a
feltétel vizsgálatával és a további ismétlésekkel (a példában for ciklus)
folytatja. Példa:

for (x = 0; x < 255; x ++)

{

    if (x > 40 && x < 120){      // ugrik az érték

        continue;

    }

    digitalWrite(PWMpin, x);

    delay(50);

}

 

 

return

Befejezi a függvényt és visszaállítja a függvényből származó értéket a
meghívott értékre, ha kell. Ebben az esetben az érték származhat bármilyen
változóból vagy állandóból.

Szintaxis, mindkettő forma érvényes:

return;

return value;  //value=érték, lehet bármilyen változó vagy állandó

 

Példa: A következő függvény a szenzorból kiolvasott értéket hasonlítja össze a
küszöbértékkel:

int checkSensor(){       

    if (analogRead(0) > 400) {

        return 1;   //érték nagyobb 400-nál, 1-re állítja (be)

    else{

        return 0;   //kisebb, 0-ra állítja az értéket (ki)

    }

  

 

goto

A program lefolyását áthelyezi a programban (általunk elnevezett) cimkével megjelölt ponthoz a következő paranccsal goto labelEzután  visszatér és tovább futtatja a többit.

Szintaxis:

label:

goto label; // a programfutást a címkéhez küldi

 

Példa:

for(byte r = 0; r < 255; r++){

    for(byte g = 255; g > -1; g--){

        for(byte b = 0; b < 255; b++){

            if (analogRead(0) > 250){ goto kisegites;}

// kisegites: általunk elnevezett

            // többi állítás ... 

        }

    }

}

cc-by-sa3s.jpg  

inicializálás: Kezdőérték adást jelent a deklarációban.

deklaráció: Ebben az esetben egyfajta definiálást jelent, közöljük a
programmal hogy az általunk magadott névvel létrehoztunk pl. egy
változót, aminek értékét később definiáljuk.

 

szintaxis: "A számítástechnikában egy programozási nyelv szintaxisa azt a szabályrendszert jelenti, amely meghatározza, hogy az adott nyelvben hogyan lehet az egyes nyelvi elemeket, utasításokat létrehozni. A szintaxis meghatározza a nyelv tágabb értelem vett ábécéjét, a használható szavakat – ez a nyelv kulcsszókészlete –, és megadja a nyelvi elemek felépítési szabályait (amelyeket a nyelv fordítójának szintaktikai elemzője ellenőriz). A nyelv szintaxisának leírására a metanyelvek szolgálnak.http://hu.wikipedia.org/wiki/Szintaxis


 

Szólj hozzá!

Címkék: hivatkozások

A bejegyzés trackback címe:

https://harsanyireka.blog.hu/api/trackback/id/tr144628932

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása