Sintaxa reprezinta regulile de scriere a unui limbaj de programare. Deoarece Arduino se programeaza intr-un limbaj similar cu C/C++,sintaxa este asemanatoare.Cele mai importante reguli de sintaxa sunt:
-la sfarsitul fiecarei linii de cod (exceptand functiile terminate cu acolade si cele de tip #define/#include) se adauga semnul punct si virgula (;):
int LEDpin=9;
Acest element de sintaxa mi-a facut multe probleme la inceput. Eroarea pentru un semn lipsa este:
expected ';' before '}' token
-pentru a face un comentariu dupa o linie de cod,se foloseste semnul //,urmat de comentariu:
pinMode(9,INPUT); // acesta este un comentariu
-in cazul functiilor principale (functii void,if,for,while etc.) corpul functiei este cuprins intre acolade:
void loop() { // acolada de deschidere a functiei
// aici se adauga corpul functiei
} // acolada de inchidere a functiei
Intotdeauna o acolada de deschidere trebuie sa aiba o acolada de inchidere drept pereche.Eroarea returnata in caz de nerespectare a acestei reguli este:
expected '}' at end of input
-in cazul functiilor simple,argumentele (conditiile necesare pentru executarea functiei) sunt intotdeauna dupa functia propriu-zisa,cuprinse intre paranteze rotunde. De exemplu,in cazul functiei pinMode:
pinMode(9,OUTPUT);
Argumentele sunt 9 (nr.pin) si OUTPUT (starea pinului).
-cuvintele cheie recunoscute de IDE se coloreaza in:portocaliu (functii simple),verde (functii complexe,operatori) si albastru (argumente cum ar fi OUTPUT/INPUT,HIGH/LOW etc. constante,tipuri de variabile int,float,char etc.);
- variabilele pot fi definite prin cuvantul cheie pentru tipul variabilei,urmat de numele variabilei si atribuirea unei valori:
int a=9;
Sau prin #define urmat de numele variabilei:
#define a
Definirea incorecta a unei variabile va avea ca rezultat eroarea:
'a' was not declared in this scope
-functia #include este folosita pentru includerea de librarii Arduino in cod:
#define <librarie.h>
Despre variabile,librarii si alte elemente de sintaxa avansata vom discuta in tutorialele urmatoare.
Comments