tanulságok Arduino

tanulságok Arduino

Ismét ez a minimális információkat. Leírás mutatók, osztályok, string változókat, stb Meg kell adni a későbbi órákon. Ha valami nem érthető, ne aggódj. A jövőben tanulságok lesz sok példát és magyarázatot.

Arduino program szerkezetét.

Arduino program szerkezete egyszerű, és a minimális kiviteli alakban két részből áll setup () és a loop ().

// kód végre egyszer, amikor a program elindul

// fő kódvégrehajtáskor egy ciklusban

beállítás () funkció végrehajtása egyszer bekapcsoláskor vagy alaphelyzetbe a vezérlőt. Általában akkor jelentkeznek, akkor a kezdeti telepítés változók, regisztrálja magát. A funkció jelen kell lennie a programban, akkor is, ha semmi.

Befejezése után a setup (), vezérlő továbblép a hurok () függvény. Ez egy végtelen ciklusban végrehajtja az utasításokat a testében (kapcsos zárójelek között). Valójában ezeket a parancsokat, és minden vezérlő algoritmikus műveletet.

C. A kezdeti szabály szintaxisát

; pontosvessző kifejezések tartalmazhat tetszőleges számú szóköz, sortörés. Terminator kifejezés szimbóluma „pontosvessző”.

<> zárójelek határozzák meg a készülék funkcióit vagy kifejezéseket. Például a setup () és a loop ().

A változó a sejt memória található, mely adatait tárolja. A program változók tartani közbenső számítási adatokat. A számításokhoz lehet használni az adatok különböző formátumú, különböző bitmélységet, így a változók az alábbi nyelvi C.

Az adattípusok alapján választják ki a kívánt pontosságot a számítások, adatformátum, stb Nem szükséges, például egy számláló méri 100, válassza ki a típus hosszú. Működni fog, de a művelet elvégzésére több adattárolási és programok több időt igényel.

Meghatározza az adatok típusát, majd a változó nevét.

Minden változókat kell nyilvánítani, mielőtt azokat használják.

Egy változó lehet nyilvánítani minden része a programnak, de ez attól függ, milyen blokkok programok is használhatják. Ie A változók körét.

  • A deklarált változók a program elején, hogy egy függvény void setup (), tekintik a globális és bárhonnan elérhetők a programban.
  • Helyi deklarált változók belül funkciók vagy egységek, mint a ciklus, és csak a hirdetési egységek használhatók. Számos változót azonos névvel, de különböző területekre.

int mód; // változó áll rendelkezésre az összes funkcióhoz

void setup () // üres dobozt, a kezdeti beállításokra nincs szükség
>

hosszú szám; // számláló változó csak az loop () függvény

A (int i = 0; i <10;) // переменная i доступна только внутри цикла
<
i ++;
>
>

int x = 0; // kijelentik x változó kezdeti értéke 0
char d = 'a'; //, hogy egy változót d kezdeti értéke egyenlő a kód az „a” szimbólum

Amikor aritmetikai műveletek különböző adattípusok történik egy automatikus átalakítása adattípusok. De ez mindig jobb, hogy explicit konverzió.

int x; // int változó
char y; // char változó
int z; // int változó

z = x + (int) y; // y kifejezetten alakítjuk egy int

Parancsaival program irányítását.

IF utasítás ellenőrzi a feltételt zárójelben, és végrehajtja a következő kifejezést, vagy blokk zárójelek között, ha a feltétel igaz.

ha (x == 5) // ha x = 5, akkor Z = 0 végzik
z = 0;

ha (x> 5) // ha x> 5, akkor az egység z = 0, y = 8;

If ... else lehet választani a két lehetőség.

ha (x> 5) // ha x> 5, akkor az egység z = 0, y = 8;
<
z = 0;
y = 8;
>
mást // Egyébként a mondat végrehajtása
<
z = 0;
y = 0;
>

ELSE IF - lehetővé teszi, hogy több választás

ha (x> 5) // ha x> 5, akkor az egység z = 0, y = 8;
<
z = 0;
y = 8;
>

else if (x> 20) // ha x> 20, a blokk végrehajtása
<
>

mást // Egyébként a mondat végrehajtása
<
z = 0;
y = 0;
>

Kapcsolószekrény - több választás. Ez összehasonlítja egy változó (ebben a példában, x) több állandók (az 5. példa és 10. ábra), és végre olyan egység, amelyben a változó egyenlő állandó.

esetében 5.
// kód végrehajtása, ha X = 5
break;

10 esetben.
// kód végrehajtása, ha x = 10
break;

alapértelmezett.
// kódvégrehajtáskor ha nem esnek egybe sem az előző érték
break;
>

Ciklusát. A konstrukció lehetővé teszi, hogy megszervezzék ciklusban egy meghatározott számú iteráció. A szintaxis a következőképpen néz ki:

A (cselekvés ciklus előtt;
feltétele annak, hogy továbbra is a ciklus;
fellépés végén minden egyes iteráció)

Példa ciklus 100 iteráció.

for (i = 0; i <100; i++ ) // начальное значение 0, конечное 99, шаг 1

WHILE hurok. Ez lehetővé teszi a kezelő szervezni ciklus tervezése:

while (kifejezés)
<
// ciklus törzsének kódját
>

A hurok végrehajtani, amíg a kifejezés a zárójelben igaz. 10. példa ciklus iteráció.

DO MÍG - ciklus feltétele a kimeneten.

csinál
<
// ciklus törzsének kódját
> Míg (expresszió);

A hurok lefusson, amíg a kifejezés igaz.
Break - az üzemeltető ki a hurkot. Arra használják, hogy szakítsa meg a hurkok, míg tegye darabig.

X = 0;
míg a (X <10 )
<
ha (Z> 20) break; // ha Z> 20, akkor lépjen ki a hurok
// ciklus törzsének kódját
x ++;
>

GOTO - feltétel nélküli ugrást nyilatkozatot.

goto metka1; // átmenet metka1
..................
metka1:

FOLYTATÁS - Átmenni az üzemeltetők, amíg a végén a hurok.

X = 0;
míg a (X <10 )
<
// ciklus törzsének kódját
ha (Z> 20) továbbra is; // ha Z> 20, majd térjen vissza a kezdete a ciklus testet
// ciklus törzsének kódját
x ++;
>

Egy tömb memória, ahol több változó tárolja egymás után.

Kijelenti tömb így.

int korosztály [10]; // tömb 10 típusú változók int

úszó tömege [100]; // tömb 100 típusú változók float

Rátérve a tömb változót az alábbiak szerint:

X = korosztály [5]; // x hozzárendelünk egy értéket, az 5 a tömbben.
korosztály [9] = 32; // tömb elem 9 van beállítva, hogy 32

A számozás a tömb elemeinek mindig nulla.

Funkció lehetővé teszi, hogy azonos műveleteket hajtják végre a különböző adatokat. A függvény:

  • A név, amellyel ez okozza;
  • érvek - az adatokat, hogy a függvény kiszámítására;
  • Az adatok típusa által visszaadott funkciót.

Leírja a felhasználó által definiált függvény függvény setup () és a loop ().

void setup () <
// kód végre egyszer, amikor a program elindul
>

void loop () <
// fő kódvégrehajtáskor egy ciklusban
>

Példa funkció kiszámítja a négyzetösszeg két érv.

int sumQwadr (int x, int y)
<
visszatérési (x * x + y * y);
>

Függvényhívás a következő:

d = 2; b = 3;
Z = sumQwadr (d, b); // z a négyzetének összege a változók d és b

A funkciók beépített, egyedi, dugaszolható.

Nagyon rövid, de ezek az adatok elegendőnek kell lennie ahhoz, hogy kezdeni írásban programok C Arduino rendszerek.

Az utolsó dolog, amit szeretnék, hogy fedezze a lecke, hiszen dolgozzon ki egy programot a C. Azt hiszem, ha elolvassa a leckét az első alkalom, ki kell hagynia ezt a részt, és jöjjön vissza később, mikor fog hajtani.

Ajánlások a design programok C.

A fő cél a külső design a program célja, hogy javítsa az olvashatóság a program számának csökkentése alaki hibák. Ezért ahhoz, hogy e cél elérése érdekében könnyen sérti minden olyan ajánlást.

Nevek képviselik adattípusok írandó nagybetűk. Az első betű a név legyen tőke (nagybetűs).

Változó nevek írandó vegyes esetben az első levél sürgős (kisbetű).

Az állandók kell nagybetű. Mint egy elválasztó aláhúzás.

Módszerek és funkciók kell hívni igék rögzíteni a nagybetűk, az első betű kisbetű.

Másrészt az alaki követelmények a következő osztályba, ha szükséges.

A következő leckében, írunk az első program, megtanulják, hogyan kell olvasni az adatokat a digitális portok és kezelni betegségüket.

Edward hello! Hogy őszinte legyek - nagyon meglepte a tanulságokat. Amennyiben nem több, mint én még nem találkoztam egy érthető és informatív tanulságok - nagyon köszönöm! Van egy kérdés -, hogy void setup () függvény elég egyszer elején a mikrokontroller. Miután a funkció teljesülése mellett -, hogy mi történik a deklarált változók a függvényen belül, és már nincs szükség? Mentesül, ha a memória zanimaemaemaya őket? Vagy, hogy szükség van minden olyan intézkedést megtesz, akár saját?

Üdvözlünk!
Köszönöm a kedves szavakat. A változók a beállítási vannak kitéve a szokásos szabály változó alkalmazási körét. Ha ők deklarált ezt a funkciót, akkor egy helyi változót. Amikor a funkció változók elpusztult, a memória felszabadul.

Bit utochnit.Pust:
int i1;
int I2 = 10;
setup ()
int I3 = 20;
>
Assembly fog kinézni?:
először a cella (i1) menti az alapértelmezett értéket, akkor a cella (i2), és elküldi 10 csak az utolsó küldött a cella (i3) 20?