Программа #
Рекомендуется изучить следующие уроки:
Инструкции и функции #
Программа - это последовательность действий, которые выполняет процессор. Программа выполняется "сверху вниз и слева направо" и состоит из инструкций, в C/C++ инструкции разделяются символом ;
. Инструкции принято писать по одной на строку для удобства и повышения читаемости кода:
инструкция1;
инструкция2;
В рамках обычной программы все действия выполняются по порядку друг за другом - синхронно: программа не перейдёт к следующей строке кода, пока не будет выполнена текущая строка
Набор инструкций, заключённый в фигурные скобки {}
, называется блоком кода:
{
инструкция1;
инструкция2;
}
Для удобства организации программы существуют функции (в других языках могут называться процедуры) - блок кода, у которого есть имя. По этому имени функцию можно вызвать, чтобы выполнить содержащийся в ней код. Синтаксис создания функций разобран в отдельном уроке, сейчас нам достаточно принять, что функции создаются вот так:
void func() {
инструкция1;
инструкция2;
}
А вызываются - вот так:
func(); // выполнить инструкцию 1 и 2
func(); // выполнить инструкцию 1 и 2
В базовых уроках нам также встретятся объекты - это сущность, у которой есть свой набор данных и функций. Обращение к инструментам объекта осуществляется при помощи точки .
:
Serial.println(); // вызов функции объекта
В программе могут быть константы различного типа:
1234
- число по основанию 100xab12
- число по основанию 163.14
- десятичная дробь, число с плавающей точкой'a'
- символ в одиночных кавычках"строка"
- строка в двойных кавычках
Это базовая информация, которая встретится в ближайших уроках. Более подробно всё это разобрано в уроках C/C++.
Скетч #
Минимальная программа на Arduino выглядит следующим образом:
void setup() {
// этот код выполнится однократно при запуске
}
void loop() {
// этот код выполняется циклично после выполнения setup
}
Данный код можно вставить в Arduino IDE и загрузить в плату.
Это - требование фреймворка, без функций setup
и loop
программа не скомпилируется, т.к. они вызываются внутри системных файлов
Программа для Arduino называется скетч (sketch, набросок). От обычной самостоятельной программы на C/C++ она отличается тем, что основной код "скрыт" от программиста - основная программа находится в файлах фреймворка Arduino, она содержит некий системный код, который выполняется независимо от нашего скетча. Скетч связан с основной программой при помощи функций setup
и loop
- программа вызывает эти функции: setup
однократно при запуске МК, а loop
- постоянно на протяжении всего остального времени работы МК. Именно внутри этих функций мы и будем писать свою программу.
setup #
Блок setup
выполняется при запуске, поэтому в нём обычно настраиваются датчики, запускаются интерфейсы связи и производятся всякие предполётные проверки - то, что нужно сделать один раз и больше не трогать.
void setup() {
запустить_связь;
настроить_датчик;
}
loop #
Базовый принцип программирования Arduino - так называемый суперцикл: программа зациклена в вечном цикле и выполняется "по кругу" сверху вниз, начинает с начала когда достигает конца. Это самый простой и визуально понятный способ организации программы: в loop
можно опрашивать кнопки и реагировать на нажатия, читать данные с датчиков и выводить на дисплей и так далее:
void loop() {
опросить_кнопку;
прочитать_датчик;
обновить_дисплей;
}