Arduino

технологии

Константы

#define

Константы - возможность задавать имена значениям, которые делают код более понятным.

Константа задается с помощью директивы #define:

#define ИМЯ_КОНСТАНТЫ ЗНАЧЕНИЕ_КОНСТАНТЫ

На самом деле эта директива позволяет делать намного больше, но здесь мы рассмотрим только константы. Вот пример определения константы:

#define LED_PIN 7
pinMode(LED_PIN, OUTPUT);

Для Arduino создан ряд предопределенные констант, например:

// уровни сигналов
#define HIGH 0x1
#define LOW 0x0

// настройка цифровых портов на ввод и вывод
#define INPUT 0x0
#define OUTPUT 0x1

Обратите внимание что в конце выражение не требуется ставить точку с запятой.

Еще на стадии компиляции программы все вхождения в код констант заменяются их значениями.

const

Иногда бывает не очень удобно использовать директиву #define для создания констант. Например при объектно-ориентированным подходе, когда константу нужно инкапсулировать в класс или создать локальную константу в функции. Тогда удобнее использовать ключевое слово const:

#include <Arduino.h>
void setup()
{
  const int pin = 5;
  pinMode(pin, INPUT);
}

void loop()
{
}

Обратите внимание: значение константы должно быть определено сразу при ее объявлении.