Программирование микроконтроллеров Arduino осуществляется на языке программирования C++. Этот язык является низкоуровневым, поэтому считается сложным и имеет высокий порог вхождения. Но для программирования Arduino используется упрощенная версия этого языка программирования. Так же для упрощения разработки прошивок существует множество функций, классов, методов и библиотек. Благодаря этому работать с этими микроконтроллерами очень удобно и легко. Описание большинства необходимых функций и операторов вы найдете на этой странице. Этого хватит для написания прошивок под самые разнообразные устройства на базе ардуино. Для всех функций есть небольшие примеры, показывающие как вы можете их использовать.
Основные операторыsetup()Функция setup() вызывается, когда скетч начинает исполняться. Используется для определения режимов работы выводов, запуска используемых библиотек и т.д. Функция setup выполняется только один раз, после каждой подачи питания или перезагрузки платы Arduino.
Код:int buttonPin = 3; void setup() { Serial.begin(9600); pinMode(buttonPin, INPUT); } void loop() { // ... }loop()Управляющие операторыifif…elseforswitch casewhiledo… whilebreakcontinuereturngotoСинтаксис; (точка с запятой){} (фигурные скобки)// (одностроковый коментарий)/* */ (многостроковый коментарий)#define#includeАрифметические операторы= (оператор присваивания)+ (сложение)— (вычитание)* (умножение)/ (деление)% (остаток от деления)Операторы сравнения== (равно)!= (не равно)< (меньше чем)> (больше чем)<= (меньше или равно)>= (больше или равно)Логические операторы&& (И)|| (ИЛИ)! (НЕ)Указатели доступа* указатель& ссылкаБитовые операторы& (побитовое И)| (побитовое ИЛИ)^ (побитовое XOR или исключающее ИЛИ)~ (побитовое НЕ)<< (побитовый сдвиг влево)>> (побитовый сдвиг вправо)Составные операторы++ (инкремент)— (декремент)+= (составное сложение)-= (составное вычитание)*= (составное умножение)/= (составное деление)&= (составное побитовое И)|= (составное побитовое ИЛИ)
КонстантыHIGH | LOWINPUT | OUTPUT| INPUT_PULLUPtrue | falseцелочисленные константыконстанты с плавающей точкойТипы данныхvoidbooleancharunsigned charbyteintunsigned intwordlongunsigned longshortfloatdoublestring — массив символовмассивыПреобразование типовchar()byte()int()word()long()float()Область видимости переменной и спецификаторыОбласть видимости переменнойstaticvolatileconstВспомогательная функцияsizeof()
Цифровой ввод/выводpinMode()digitalWrite()digitalRead()Аналоговый ввод/выводanalogReference()analogRead()analogWrite() — PWMРасширенный ввод/выводtone()noTone()shiftOut()shiftIn()pulseIn()Времяmillis()micros()delay()delayMicroseconds()Математические вычисленияmin()max()abs()constrain()map()pow()sqrt()sq()Тригонометрияsin()cos()tan()Случайные числаrandomSeed()random()Биты и байтыlowByte()highByte()bitRead()bitWrite()bitSet()bitClear()bit()Прерыванияinterrupts()noInterrupts()Внешние прерыванияattachInterrupt()detachInterrupt()