Типы данных
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