Цифровая электроника для начинающих (Елисеев) - страница 12


Помимо плат, существует и бесплатная среда разработки Arduino IDE, позволяющая писать код и загружать программу в плату. Загруженная программа сохраняется в Arduino и после отключения питания, готовую плату потом можно использовать отдельно от компьютера.

2.1 Основы языка Си

Для начала … отложим плату Arduino в сторону, и научимся писать несложные программы на языке Си. Ведь центральный процессор Arduino - это почти полноценный компьютер, а значит его нужно будет программировать. Для этого используется язык Си, весьма популярный для написания программ различных микроконтроллеров.


Чтобы писать программу на каком-либо языке программирования, нужны специальный редактор (так называемая “среда разработки” или IDE) и компилятор, преобразующий текст в готовую программу. Для упрощения мы воспользуемся онлайн компилятором, для чего можно зайти на сайт https://repl.it/languages/c или https://www.onlinegdb.com/online_c_compiler.


Простейшая программа на Си выглядит так:


#include


int main(void) {

printf("Hello World\n");

return 0;

}


Директива #include подключает служебный файл, в котором описаны необходимые нам функции. Функция printf выводит текст на экран. Запустим программу нажатием кнопки “>”, и справа мы увидим результат ее выполнения - появится текст Hello world.


Мы также можем создать целочисленную переменную, написав:


int i = 42;


Или вещественную:


float a = 1.0;


C переменными можно осуществлять математические действия:


float b = 3*val + 5;


Можно увеличить или уменьшить значение переменной:


i = i+1;       // Более короткая запись: i += 1; или еще короче i++;

i = i-1;             // Более короткая запись: i -= 1; или еще короче i--;


Можно вывести на экран значения переменных:


int i = 42;

float a = 1.0;

printf("I = %d, A = %f\n", i, a);


Нужный фрагмент программы можно повторить нужное число раз с помощью оператора for. Выведем значение переменной 10 раз:


for(int v=0; v<10; v++) {

printf("I = %d, A = %f\n", i, a);

}


Блок, который будет повторен, выделяется фигурными скобками { и }. Оператор for можно использовать не только для вывода, например вот так можно подсчитать и вывести сумму квадратов чисел от 1 до 100:


#include


int main(void) {

int sum = 0;

for(int v=0; v<100; v++) {

sum += v*v;

}

printf("Sum = %d\n", sum);

return 0;

}


В программе могут также быть условия, которые записываются в виде оператора if: фрагмент кода внутри фигурных скобок выполнится только если условие истинно.


if (sum > 100) {

printf("Sum > 100\n");

}


Это небольшое введение позволит нам ориентироваться в коде программ для Arduino. Желающие могут найти более подробное руководство по С++ самостоятельно.