Pierwszą kwestią, na którą należy zwrócić uwagę, jest to, że używasz zintegrowanego środowiska programistycznego Arduino (IDE) do tworzenia szkiców przy użyciu języków programowania C/C++. C++ to zasadniczo C z rozszerzeniami (jak C na sterydach). C++ jest klasyfikowany jako język obiektowy (OPP), ale tak naprawdę nie musimy się martwić o to, co to oznacza w tym momencie. To, co uważamy za „język Arduino”, to zestaw wstępnie zdefiniowanych funkcji C/C++, które ktoś dla nas napisał i które można wywołać z naszego kodu.
Funkcja main()
Jedną z rzeczy, która denerwuje niektórych ludzi, jeśli znają już C/C++, jest to, że programy napisane w tych językach zawsze mają funkcję najwyższego poziomu o nazwie main(). W przypadku Arduino istnieją jednak dwie funkcje, które są domyślnie umieszczane w szkicu, setup() i loop(), ale nie ma funkcji main() (można również tworzyć własne funkcje, ale szkic musi zawierać funkcje setup() i loop()).
IDE dodaje również komentarz wewnątrz funkcji setup(), mówiąc: „Umieść tutaj swój kod konfiguracyjny, aby uruchomić go raz”. Podobnie, wewnątrz funkcji loop() znajduje się komentarz mówiący: „Umieść tutaj swój główny kod, aby uruchamiać go wielokrotnie” (użycie słowa „główny” jest niefortunne w tym kontekście).
Za kulisami, po kliknięciu ikony „Kompiluj”, IDE generuje plik tymczasowy, który zawiera cały kod wraz z funkcją main() wyglądającą jak poniżej:
main ()
{
setup();
while (1) loop();
}
Powoduje to wywołanie funkcji setup() jeden raz, a następnie wywołanie funkcji loop() w kółko i w kółko.
Litery i spacje
C/C++ to języki rozróżniające wielkość liter – na przykład zmienne o nazwach takich jak fred, Fred i FRED są traktowane przez kompilator jako zupełnie różne byty. C/C++ nie dba o to, czy używasz białych znaków, czy nie (gdzie białe znaki obejmują spacje, tabulatory i puste linie). Głównym powodem używania białych znaków jest zwiększenie czytelności kodu – są one usuwane podczas kompilacji kodu, więc nie sprawią, że ostateczny program załadowany do Arduino będzie większy.
A propos tabulatorów... nie używaj ich. Tak, oczywiście, że łatwiej jest nacisnąć klawisz <tab> jeden raz niż wielokrotnie klawisz <space>. Problem polega na tym, że nie wiesz, ile spacji inne systemy skojarzą z tabulatorem, co może na przykład sprawić, że twoje wydruki będą wyglądać dziwnie. Nie zapominajmy też o artykule z 2017 roku na stronie StackOverflow.blog: Developers Who Use Spaces Make More Money Than Those Who Use Tabs (https://bit.ly/37iB0eg).