Типы данных

void

Ключевое слово void используется при объявлении функций, если функция не возвращает никакого значение при ее вызове (в некоторых языках программирования такие функции называют процедурами).

// в функциях "setup" и "loop" производятся некоторые действия,
// но ничего не возвращается во внешнюю программу

void setup()
{
  // ...
}

void loop()
{
  // ...
}

boolean

Логический (булевый) тип данных — boolean. Может принимать одно из двух значений true или false. boolean занимает в памяти один байт.

int LEDpin = 5;       // Светодиод на входе 5
int switchPin = 13;   // выключатель на порту 13, замыкает на землю

boolean running = false;

void setup()
{
  pinMode(LEDpin, OUTPUT);
  pinMode(switchPin, INPUT);
  digitalWrite(switchPin, HIGH);      // включаем подтягивающий резистор
}

void loop()
{
  if (digitalRead(switchPin) == LOW)
  {  // выключатель нажат, т.к. подтягивающий резистор будет давайть HIGH на входе, если не замкнут напрямую на землю
    delay(100);                        // ждем 0.1сек
    running = !running;                // меняем значение булевой переменной
    digitalWrite(LEDpin, running)      // включаем или выключаем светодиод.
  }
}

char

Переменная типа char занимает 1 байт памяти и может хранить один алфавитно-цифровой символ (литеру). При объявление литеры используются одиночные кавычки: 'A' (двойные кавычки используется при объявлении строки символов - тип string: "ABC").

Символ хранится в памяти как число, соответствующее коду символа в таблице кодировки символов ASCII. Т.к. символ хранится как число в памяти над ним возможно производить арифметические действия (например, 'A' + 1 будет 66, т.к. ASCII код для 'A' - 65).

Тип char знаковый тип, т.е. число (код) хранящийся в памяти может принимать значения от -128 до 127. Если необходим беззнаковая однобайтовая переменная, используйте тип byte.

char myChar = 'A';
char myChar = 65;      //Варианты эквивалентны

unsigned char

An unsigned data type that occupies 1 byte of memory. Same as the byte datatype.

The unsigned char datatype encodes numbers from 0 to 255.

For consistency of Arduino programming style, the byte data type is to be preferred.

 unsigned char myChar = 240;

byte

Тип данных byte 8-ми битное беззнаковое целое число, в диапазоне 0..255.

byte c = B10010;  // "B" префикс двоичной системы счисления(B10010 = 18 в десятичной системе счисления)

int

Тип данных int (от англ. integer - целое число) один их наиболее часто используемых типов данных для хранения чисел. int занимает 2 байта памяти, и может хранить числа от -32 768 до 32 767 (от -2^15 до 2^15-1)

Для размещения отрицательных значений int использует, так называемый, дополнительный код представления числа. Старший бит указывает на отрицательный знак числа, остальные биты инвертируются с добавлением 1.

Arduino компилятор сам заботиться о размещение в памяти и представление отрицательных чисел, поэтому арифметические действия над целыми числами производятся как обычно.

int ledPin = 13;

Замечание по использованию типа int Когда переменная типа int в следствие арифметической операции достигает своего максимального значения, она "перескакивает" на самое минимальное значение и наоборот:

int x
x = -32,768;
x = x - 1;       // x теперь равно 32,767 - перескакивает на минимальное значение

x = 32,767;
x = x + 1;       // x теперь равно -32,768

Last updated