Привіт, друзі! Я радий презентувати вам новий урок під назвою Arduino константи!
Константи – це спосіб передати такі дані до контролера, які не можна буде змінювати після завантаження програми. З цього випливає, що ввести їх може лише програміст, а користувач змінювати їх не зможе. Частково їх можна описати як змінні тільки для читання.
В Arduino IDE передбачені іменовані та літеральні константи, визначені та користувальницькі. Розглянемо їх усіх окремо і в кінці окремо розкриємо тему текстових констант.
b = 9.8 + 34.6 / 2.7;
n = 0.005;
k = (var1+var2)/100;
String svar1 = "geekmatic.in.ua";
char myChar = 'A';
Serial.println(572.45);
Serial.println("MyText");
Літеральні константи – це просто числа для числових даних або символи для текстових даних, які прямо вказуємо у висловлюваннях програми. Ми можемо вказувати їх у формулах, умовних операторах або надавати їх значення змінним, аргументам функцій або іменованим константам.
33u
456743U
100000L
32767ul
n = B101; //двоичное число все равно что
5 = ((1 * 2^2) + (0 * 2^1) + 1)
n = 0x101; //16-ричное число все равно что 257 = ((1 * 16^2) + (0 * 16^1) + 1)
#define Var1 56
const byte PinA = 2;
const byte PinB = 3;
const int PinC = 4;
const String var = "myText";
void setup{
pinMode(PinA, INPUT);
pinMode(PinB, INPUT);
pinMode(PinC, OUTPUT);
}
false true HIGH LOW INPUT INPUT_PULLUP OUTPUT LED_BUILTIN D1...D13..., A0...A7...
#define MYCONST 56 const byte PinB = 3; const int PinC = 4; const float Var1 = 78.234; const String Var = “myText”;
Користувальницькі іменовані константи дають нам широке поле творчості. Найчастіше їх застосування для роздачі імен пін контролера, відповідно до конкретного проекту. Також мені наприклад доводилося використовувати масиви констант для зберігання нот мелодії.
Рекомендується іменованим константам давати ім'я з великої літери.
Константи можна оголошувати через #define ім'я літерал
але рекомендується оголошувати їх лише через const ім'я = літерал;
const char MyChar = 'A';
const char Str1[] = "arduino";
const char Str2[8] = "arduino";
const String Var = "myText";
const String Var = F("myText");
Serial.print(F("Write something"));
Окремо варто зупинитись на символьних константах.
Символьні літерали типу char декларуються через одиночні лапки , які масиви і літерали типу String через подвійні лапки.
Для зберігання літералів констант типу String над оперативної пам'яті RAM, а FLASH пам'яті контролера, при оголошенні необхідно використовувати синтаксис з літерою F.
Докладніше цю велику тему з декларацією символьних констант та змінних необхідно буде розглянути на окремому уроці.
Дякую за увагу!
LED драйвер 330/660мА з PWM управлінням
LED драйвер 330/660 мА з ШІМ Драйвер для потужних світлодіодів і світлодіодних світильників на ..
121.15грн.
ESP32: Генерація ШІМ на основі таймера (без LEDC)
ESP32: Генерація ШІМ на основі таймера (без LEDC) В ESP32 є кілька способів організувати широтно-..
Обмін інформацією між контролерами Arduino Nano по Ethernet
Двохсторонній зв'язок модулями ENC28J60 між контролерами ArduinoЯ покажу тут рішення, здавалось би, ..
Кнопка металева герметична 16мм (латунь, IP65, 3A, без фіксації)
Надійна вологозахищена кнопка без фіксації діаметром 16 мм. Виготовлена з латуні з нікелевим покритт..
82.91грн.





