Язык программирования Ардуино C++

СОДЕРЖАНИЕ ►
В Arduino IDE все написанные скетчи компилируются в программу на языке C/C++ с минимальными изменениями. Компилятор Arduino IDE значительно упрощает написание программ для этой платформы и создание устройств на Ардуино становится намного доступней людям, не имеющих больших познаний в языке C/C++. Дадим далее небольшую справку с описанием основных команд языка Arduino с примерами.
Справочник языка Ардуино (команд)
Язык можно разделить на четыре раздела: операторы, данные, функции и библиотеки.
Язык Arduino | Пример | Описание |
Операторы |
||
setup() | void setup() { pinMode(3, INPUT); } |
Функция используется для инициализации переменных, определения режимов работы выводов на плате и т.д. Функция запускается только один раз, после каждой подачи питания на микроконтроллер. ► Пример использования |
loop() | void loop() { digitalWrite(3, HIGH); delay(1000); digitalWrite(3, LOW); delay(1000); } |
Функция loop крутится в цикле, позволяя программе совершать вычисления и реагировать на них. Функции setup() и loop() должны присутствовать в каждом скетче, даже если эти операторы в программе не используются. ► Пример использования |
Управляющие операторы |
||
if | … if (x > 100) digitalWrite(3, HIGH); if (x < 100) digitalWrite(3, LOW); … |
Оператор if используется в сочетании с операторами сравнения (==, !=, <, >) и проверяет, достигнута ли истинность условия. Например, если значение переменной x больше 100, то включается светодиод на выходе 13, если меньше — светодиод выключается. ► Пример использования |
if..else | … if (x > 100) digitalWrite(3, HIGH); else digitalWrite(3, LOW); … |
Оператор else позволяет cделать проверку отличную от указанной в if, чтобы осуществлять несколько взаимо исключающих проверок. Если ни одна из проверок не получила результат ИСТИНА, то выполняется блок операторов в else. ► Пример использования |
switch…case | … switch (x) { case 1: digitalWrite(3, HIGH); case 2: digitalWrite(3, LOW); case 3: break; default: digitalWrite(4, HIGH); } … |
Подобно if, оператор switch управляет программой, позволяя задавать действия, которые будут выполняться при разных условиях. Break является командой выхода из оператора, default выполняется, если не выбрана ни одна альтернатива. ► Пример использования |
for | void setup() { pinMode(3, OUTPUT); } void loop() { for (int i=0; i <= 255; i++){ analogWrite(3, i); delay(10); } } |
Конструкция for используется для повторения операторов, заключенных в фигурные скобки. Например, плавное затемнение светодиода. Заголовок цикла for состоит из трех частей: for (initialization; condition; increment) — initialization выполняется один раз, далее проверяется условие condition, если условие верно, то выполняется приращение increment. Цикл повторяется пока не станет ложным condition. ► Пример использования |
while | void loop() { while (x < 10) { x = x + 1; Serial.println(x); delay(200); } } |
Оператор while используется, как цикл, который будет выполняться, пока условие в круглых скобках является истиной. В примере оператор цикла while будет повторять код в скобках бесконечно до тех пор, пока x будет меньше 10. ► Пример использования |
do…while | void loop() { do { x = x + 1; delay(100); Serial.println(x); } while (x < 10); delay(900); } |
Оператор цикла do…while работает так же, как и цикл while. Однако, при истинности выражения в круглых скобках происходит продолжение работы цикла, а не выход из цикла. В приведенном примере, при x больше 10 операция сложения будет продолжаться, но с паузой 1000 мс. ► Пример использования |
break continue |
switch (x) { case 1: digitalWrite(3, HIGH); case 2: digitalWrite(3, LOW); case 3: break; case 4: continue; default: digitalWrite(4, HIGH); } |
Break используется для принудительного выхода из циклов switch, do, for и while, не дожидаясь завершения цикла. Оператор continue пропускает оставшиеся операторы в текущем шаге цикла. ► Пример использования |
Синтаксис |
||
; (точка с запятой) |
… digitalWrite(3, HIGH); … |
Точка с запятой используется для обозначения конца оператора. Забытая в конце строки точка с запятой приводит к ошибке при компиляции. |
{} (фигурные скобки) |
void setup() { pinMode(3, INPUT); } |
Открывающая скобка “{” должна сопровождаться закрывающей скобкой “}”. Непарные скобки могут приводить к скрытым и непонятным ошибкам при компиляции скетча. |
// (комментарий) |
x = 5; // комментарий | Комментарии используются для напоминания, как работает программа. Они игнорируются компилятором и не экспортируются в процессор, не занимая место в памяти микроконтроллера. |
#define | #define ledPin 3 | Директива #define позволяет дать имя константе. Директива служит исключительно для удобства и улучшения читаемости программы. ► Пример использования |
#include | // библиотека для серво #include <Servo.h> |
Директива #include используется для включения сторонних библиотек в скетч. Помните, что директивы #include и #define, не требуют точки запятой. ► Пример использования |
Типы данных |
||
boolean | boolean val = false; | Переменная boolean может принимать значение — true или false. Каждая переменная типа boolean занимает один байт в памяти микроконтроллера. ► Пример использования |
char | // оба значения эквивалентны char val = ‘A’; char val = ’65’; |
Тип данных char хранит символьное значение и занимает в памяти 1 байт. Символы пишутся в одинарных кавычках, например: ‘A’, но в памяти символы хранятся в виде чисел. ► Пример использования |
byte | byte val = 255; | byte — без знаковый тип данных для хранения чисел в диапазоне от 0 до 255. Переменная занимает в памяти 1 байт. ► Пример использования |
int | int val = 32767; | Тип данных для хранения целых чисел. Переменная типа int хранит целочисленные 16-битные значения в диапазоне от -32768 до 32767. ► Пример использования |
unsigned int | unsigned int val = 65535; | Переменная типа unsigned int также может хранить двухбайтовые значения. Но вместо отрицательных чисел хранит только положительные значения в большом диапазоне от 0 до 65535. ► Пример использования |
float | float val = 25.1547; | Переменная типа float служит для хранения чисел с десятичным разделителем. Числа с плавающей точкой позволяют более точно описать аналоговые величины, чем целые числа. Точность дробных чисел составляет 6-7 знаков — это общее количество цифр, а не количество цифр после запятой. ► Пример использования |
Подробно Arduino язык программирования для начинающих представлен в таблице. Микроконтроллер Arduino программируется на языке, основанном на C/C ++. Язык программирования Arduino является разновидностью C++, другими словами, не существует отдельного языка программирования Arduino. Скачать книгу PDF можно ниже. Отметим, что программирование Arduino намного проще , чем язык C++.
Например. На языке программирования Arduino включить в скетче последовательный порт на скорости 9600 бит в секунду можно всего лишь одной командой:
Serial.begin(9600);
При использовании C/C++ нам бы пришлось долго разбираться с документацией на микроконтроллер и написать в скетче нечто подобное:
UBRR0H = ((F_CPU / 16 + 9600 / 2) / 9600 - 1) >> 8;
UBRR0L = ((F_CPU / 16 + 9600 / 2) / 9600 - 1);
sbi(UCSR0B, RXEN0);
sbi(UCSR0B, TXEN0);
sbi(UCSR0B, RXCIE0);
Подборка на тему: Язык программирования Ардуино C++
3 комментариев для “Язык программирования Ардуино C++”
Добавить комментарий
Записи похожие на: Язык программирования Arduino. Справочник
- Подключение датчика движения к Ардуино
- Как подключить герконовый датчик к Ардуино
- Подключение модуля с кнопкой к Ардуино
- Участие в российском водном конкурсе
Проекты похожие на: Язык программирования Arduino. Справочник
Понятно и просто расписаны команды Ардуино для чайников. Спасибо.
спасибо, хороший сайт!!
Молодци. Отлично, понятно, без лишнего. Спасибо!