lecții Arduino
![Arduino lecții (Arduino) lecții Arduino](https://webp.images-on-off.com/26/463/434x188_3gvjblc63781rmxt760b.webp)
Din nou, adică informațiile minime. Descriere indicii, clase, variabile string, etc. Acesta va fi dat în lecții ulterioare. Dacă ceva nu va înțelege, nu vă faceți griji. În lecții viitoare vor fi o mulțime de exemple și explicații.
Structura programului Arduino.
Structura programului Arduino este simplu și întruchiparea minimă cuprinde configurarea două părți () și buclă ().
// cod executat o dată la pornirea programului
// cod principal este executat într-un ciclu
Funcția de configurare () se realizează o dată la putere-up sau pentru a reseta regulatorul. De obicei, apar în ea variabile de instalare inițiale, registre. Funcția trebuie să fie prezentă în program, chiar dacă nu este nimic.
După finalizarea configurare (), sumele de control pentru funcția de buclă (). Este într-o buclă infinită execută comenzile în corpul ei (între acolade). De fapt, aceste comenzi și să facă toate controler de acțiune algoritmică.
C. Sintaxa inițială regulă
; Expresiile pot conține și virgulă orice număr de spații, sfârșiturile de linie. Expresia Terminator este un simbol al „virgulă“.
<> acolade definesc funcțiile unitare sau expresii. De exemplu, în configurare () și buclă ().
Variabila este memoria celulară în care sunt stocate informații. Programul utilizează variabile pentru a stoca datele de calcul intermediare. Pentru calcule pot fi folosite date de diferite formate, adâncimea de biți diferite, astfel încât variabilele au următoarele tipuri de limbaj C.
Tipurile de date sunt selectate în funcție de precizia dorită a calculelor, formate de date, etc. Nu este necesar, de exemplu, un contor pentru a număra până la 100, selectați tipul de mult timp. Va funcționa, dar operațiunea va dura mai mult de stocare a datelor și programe vor necesita mai mult timp.
Specifică tipul de date, apoi numele variabilei.
Toate variabilele trebuie declarate înainte de a fi utilizate.
O variabilă poate fi declarată în orice parte a programului, ci depinde de programele care blochează pot folosi. Ie în variabile au domeniul de aplicare.
- Variabilele declarate la începutul programului la o setare void functie (), sunt considerate a fi globale și accesibile oriunde în program.
- Variabilele locale declarate în cadrul funcțiilor sau unități, cum ar fi un ciclu de, și numai în unități de anunțuri pot fi utilizate. Există mai multe variabile cu același nume, dar diferite domenii.
Modul int; // variabila este disponibil pentru toate funcțiile
configurare void () // cutie goală, setările inițiale nu sunt necesare
>
count lung; // variabila count este disponibilă numai în bucla) funcția (
pentru (int i = 0; i <10;) // переменная i доступна только внутри цикла
<
i ++;
>
>
int x = 0; // declara o variabilă x cu o valoare inițială 0
char d = 'a'; // declara o variabilă d cu o valoare inițială egală cu codul „un“ simbol
Atunci când operații aritmetice cu diferite tipuri de date are loc o conversie automată a tipurilor de date. Dar este întotdeauna mai bine să utilizați conversie explicită.
int x; // int variabil
char y; // variabila char
z int; // int variabil
z = x + (int) y; // y este convertit în mod explicit la un int
Alegerea opțiunilor de gestionare a programului.
Instrucțiune IF verifică starea în paranteze, și efectuează expresia ulterioară sau blocului în paranteze, în cazul în care condiția este adevărată.
if (x == 5) // daca x = 5, atunci z = 0 se realizează
z = 0;
if (x> 5) // daca x> 5, atunci unitatea z = 0, y = 8;
IF ... ELSE permite o alegere între cele două opțiuni.
if (x> 5) // daca x> 5, atunci unitatea z = 0, y = 8;
<
z = 0;
y = 8;
>
altfel // În caz contrar, blocul este executat
<
z = 0;
y = 0;
>
Else if - vă permite să efectuați mai multe selecții
if (x> 5) // daca x> 5, atunci unitatea z = 0, y = 8;
<
z = 0;
y = 8;
>
else if // daca x> 20, blocul este executat (x> 20)
<
>
altfel // În caz contrar, blocul este executat
<
z = 0;
y = 0;
>
COMUTATOR CASE - alegere multiplă. Se compară o variabilă (în acest exemplu, x), cu mai multe constante (în exemplul 5 și 10) și de a efectua o unitate în care variabila este egală cu o constantă.
Cazul 5.
// cod este executat dacă x = 5
pauză;
10 caz.
// cod este executat dacă x = 10
pauză;
implicit.
// cod este executat, în cazul în care nu a coincis nici valoarea anterioară
pauză;
>
Ciclul FOR. Design-ul vă permite să organizeze cicluri de un număr predeterminat de iterații. Sintaxa arată astfel:
pentru (acțiune înainte de a buclei;
condiție pentru a continua ciclul;
acțiune la sfârșitul fiecărei iterații)
Ciclul EXEMPLU 100 iterații.
pentru (i = 0; i <100; i++ ) // начальное значение 0, конечное 99, шаг 1
bucla WHILE. Acesta permite operatorului să organizeze cicluri cu design:
în timp ce (expresie)
<
// cod corp bucla
>
Bucla este executată atâta timp cât expresia din paranteze este adevărată. Exemplul 10. iterații ale ciclului.
DO WHILE - ciclu cu o condiție la ieșire.
face
<
// cod corp bucla
> În timp ce (expresie);
Bucla este executată până când expresia este adevărată.
BREAK - operatorul din bucla. Este folosit pentru a întrerupe pentru bucle, în timp ce, în timp ce fac.
x = 0;
în timp ce (x <10 )
<
if (z> 20) se va rupe; // dacă z> 20, apoi ieși din bucla
// cod corp bucla
x ++;
>
GOTO - declarație salt necondiționat.
metka1 goto; // trecerea la metka1
..................
metka1:
CONTINUĂ - Treceti operatorii până la sfârșitul buclei.
x = 0;
în timp ce (x <10 )
<
// cod corp bucla
if (z> 20) continuă; // dacă Z> 20, apoi a reveni la începutul corpului ciclului
// cod corp bucla
x ++;
>
O matrice este o memorie, în cazul în care mai multe variabile sunt stocate consecutiv.
Declară o matrice așa.
vârstele int [10]; // matrice de 10 variabile de tip int
float greutate [100]; // matrice de 100 variabile de tip float
Revenind la o variabilă array după cum urmează:
x = vârstele [5]; // x i se atribuie o valoare de 5 în matrice.
vârstele [9] = 32; // element de matrice 9 este setat la 32
Numerotarea elementelor de matrice este întotdeauna zero.
Funcții vă permit să efectuați aceleași acțiuni cu date diferite. Functia are:
- numele prin care cauzează;
- Argumentele - datele pe care le utilizează pentru a calcula funcția;
- tipul de date returnate de funcția.
Descrie funcția definită de utilizator este de configurare () și buclă ().
configurare void () <
// cod executat o dată la pornirea programului
>
void loop () <
// cod principal este executat într-un ciclu
>
Funcția EXEMPLU calculează suma pătratelor a două argumente.
int sumQwadr (int x, int y)
<
retur (x * x + y * y);
>
apel Funcția este după cum urmează:
d = 2; b = 3;
z = sumQwadr (d, b); // z este în suma pătratelor variabilelor d și b
Funcțiile sunt încorporate, la comandă, pluggable.
Foarte scurt, dar aceste date ar trebui să fie suficiente pentru a începe programe de scris în C pentru sistemele Arduino.
Ultimul lucru pe care vreau să acopere în această lecție, deoarece acestea elaborează un program în C. Cred că dacă ai citit lecția prima dată, ar trebui să săriți peste această secțiune și să reveniți la el mai târziu, când va executa.
Recomandări pentru proiectarea de programe în C.
Scopul principal al designului exterior al programului este de a îmbunătăți lizibilitatea programului, reduce numărul de erori formale. Prin urmare, pentru a atinge acest obiectiv poate fi încalcă cu ușurință toate recomandările.
Nume care reprezintă tipurile de date care urmează să fie scrise în caz mixte. Prima literă a numelui ar trebui să fie un capital (majuscule).
Numele de variabile trebuie să fie scrise în cazul mixt, prima literă de urgență (cu litere mici).
Constantele trebuie să fie scrise cu litere mari. Ca o subliniere separator.
Metode și funcții ar trebui să fie numite verbe înregistrate în caz mixt, prima literă din litere mici.
Pe celelalte formalități în următoarele clase, după cum este necesar.
În următoarea lecție, vom scrie primul program, să învețe cum să citească datele din porturile digitale și de a gestiona starea lor.
Edward Buna ziua! Pentru a fi sincer - foarte surprins de lecțiile. În cazul în care nu mai mult nu am întâlnit lecții mai inteligibile și informative - vă mulțumesc foarte mult! Am o întrebare - că funcția void Setare () se efectuează o singură dată la începutul microcontroler. După ce funcția este îndeplinită - ceea ce se întâmplă cu variabilele declarate în cadrul funcției și nu mai sunt necesare? Scutit în cazul în care memoria le zanimaemaemaya? Sau, pentru că este necesar să se ia orice măsuri, fie pe cont propriu?
Bine ai venit!
Vă mulțumesc pentru cuvintele frumoase. Variabilele din configurare sunt supuse regulii de obicei pentru domeniul de aplicare variabilă. În cazul în care acestea sunt declarate în această funcție, este o variabilă locală. În cazul în care variabilele de funcții sunt distruse, memoria este eliberată.
Bit utochnit.Pust:
i1 int;
int i2 = 10;
configurare ()
int i3 = 20;
>
Assembler va arata?:
mai întâi în celulă (i1) este salvat în valoarea implicită, apoi celula (I2) și trimite 10 numai în ultima trimis în celulă (i3) 20?