1.2.1 Язык программирования
Язык программирования Ардуино является стандартным C++ (используется компилятор AVR-GCC) с некоторыми особенностями, облегчающими новичкам написание первой работающей программы.
Программы, написанные программистом Ардуино называются наброски (или иногда скетчи - варваризм от англ. sketch) и сохраняются в файлах с расширением ino. Эти файлы перед компиляцией обрабатываются препроцессором Ардуино. Также существует возможность создавать и подключать к проекту стандартные файлы C++.
Обязательную в C++ функцию main() препроцессор Ардуино создает сам, вставляя туда необходимые «черновые» действия.
Программист должен написать две обязательные для Ардуино функции setup() и loop(). Первая вызывается однократно при старте, вторая выполняется в бесконечном цикле.
В текст своей программы (скетча) программист не обязан вставлять заголовочные файлы используемых стандартных библиотек. Эти заголовочные файлы добавит препроцессор Ардуино в соответствии с конфигурацией проекта. Однако пользовательские библиотеки нужно указывать.
Менеджер проекта Arduino IDE имеет нестандартный механизм добавления библиотек. Библиотеки в виде исходных текстов на стандартном C++ добавляются в специальную папку в рабочем каталоге IDE. При этом название библиотеки добавляется в список библиотек в меню IDE. Программист отмечает нужные библиотеки и они вносятся в список компиляции.
Arduino IDE не предлагает никаких настроек компилятора и минимизирует другие настройки, что упрощает начало работы для новичков и уменьшает риск возникновения проблем.
Простейшая Ардуино-программа состоит из двух функций:
· setup(): функция вызывается однократно при старте микроконтроллера.
· loop(): функция вызывается после setup () в бесконечном цикле все время работы микроконтроллера.
Так выглядит полный текст простейшей программы (скетча) мигания светодиодом с периодом 2 секунды:
#define LED_PIN 13 //Связывание 13-го выхода платы с переменной LED_PIN
void setup () {
pinMode (LED_PIN, OUTPUT); // Назначение переменной LED_PIN и 13-го выхода на вывод
}
void loop () {
digitalWrite (LED_PIN, HIGH); // Включение светодиода, параметр вызова функции digitalWrite HIGH - признак высокого логического уровня
delay (1000); // Цикл задержки на 1000 мс - 1 секунду
digitalWrite (LED_PIN, LOW); // Выключение светодиода, параметр вызова LOW - признак низкого логического уровня
delay (1000); // Цикл задержки на 1 секунду
}
Все используемые в примере функции являются библиотечными. В комплекте Arduino IDE имеется множество примеров программ. Существует перевод документации по Arduino на русский язык.
- Введение
- Глава 1. Обзор предметной области и технологий
- 1.1 Аппаратная часть
- 1.1.1 Конструктив
- 1.1.2 Микроконтроллер
- 1.1.3 Периферия
- 1.1.4 Некоторые модели микроконтроллерных плат
- 1.2 Концепция программирования
- 1.2.1 Язык программирования
- 1.2.2 Загрузка программы в микроконтроллер
- 1.3 Команда разработчиков
- Глава 2. Практическая работа
- 2.1 Cреда разработки
- 2.2 Используемые модули
- 2.3 Код программы контроллера
- Заключение