Типы данных

Интернет-магазин

Новости Arduino

16 декабря 2013г.
Flutter - платформа разработки, основанная на Arduino
01 марта 2013г.
TV-выход на Arduino
08 февраля 2013г.
Raspberry Pi медиацентр своими руками
08 ноября 2012г.
Пополнение в библиотеке - Bionic Arduino на русском языке
04 июля 2012г.
Сонар для слепых на базе Arduino Mini Pro
30 мая 2012г.
Новости Raspberry Pi или шесть мучительных недель
16 мая 2012г.
Подключение датчика движения к Ардуино
14 февраля 2012г.
Arduino Pong - игровая платформа

Контактные данные

Телефон:
(093) 503-26-13
Электронная почта:

 

Главная Библиотека Arduino Описание языка Arduino на русском языке Типы данных

Типы данных

Библиотека Arduino Описание языка Arduino на русском языке

void
Тип void используется только для объявления функций. Он показывает, что функция не возвращает никакого значения вызвавшей ее функции.

boolean
Может принимать одно из двух состояний — true или false (хотя и занимает целый байт ОЗУ)
От переводчика — поскольку тип boolean характерен для флагов, целесообразно использовать определенные биты какой-то переменной, етм самым более полно используя оперативную память.

char
Описание:
Даный тип данных занимает 1 байт ОЗУ и хранит символ. Единичные символы выделяются в одинарные кавычки, например 'A'. Для объявления многобуквенных символьных переменных используются вдойные кавычки «ABC».
Символы хранятся в виде числа, соответсвующего по таблице ASCII определенному символу. Это значит, что с символьными переменнымии можно совершать арифметические операции. Таким образом 'A'+1 имеет значение 66, когда символу A по ASCII соответсвует 65.
Тип данных char кодирует в диапазоне от -128 до 127, т.к. является переменной типа signed. Для использования 8-бит переменной типа unsigned, используйте тип данных byte.

unsigned char
Описание

символьная переменная типа unsigned занимает 1 байт памяти также как и byte.
unsigned char КОдирует числа в диапазоне от 0 до 255.
Предпочтительнее использовать тип byte вместо этого типа.

byte
Описание:

byte хранит 8-бит положительное число, от 0 до 255.

int
Описание:

Целочисленный тип данных. Занимает 2 байта и может хранить значения от -32 768 до 32767.
Отрицательные значения хранятся в т.н. дополнительном коде, когда старший бит показывает, что число отрицательное. При этом биты переменной инвертируются и прибавляется 1.

unsigned int
Описание

Unsigned ints (положительное целочислительное) такая же переменная что и int, также занимает 2 байта. Однако она хранит только положительные числа, поэтому вмещает диапазон чисел от 0 до 65,535 (2^16) — 1).

word
Описание

word хранит 16-бит положительное число, от 0 до 65536. Также как и unsigned int.

long
Описание:

Long это расширенный тип данных целочислительной переменной. Занимает 32 бит (4 байта и может хранить числа от -2,147,483,648 до 2,147,483,647.

unsigned long
Описание:

Unsigned long это расширенный тип данных положительной целочислительной переменной, занимающий 32 бит (4 байт).Может хранить положительные значения от 0 до 4,294,967,295 (2^32 — 1).

float
Описание:

Тип данных для хранения чисел с плавающей точкой. Числа с плавающей точкой имеют гораздо большее разрешение чем целочисленные переменные. Такие числа могут быть величиной до 3.4028235E+38 от -3.4028235E+38. Они занимают 32 бит (4 байт) данных.
Числа с плавающей точкой не точны и операция 6,0/2,0 не всегда вернет 2,0. Вы должны учитывать погрешность при сравнении двух чисел.
Числа с плаващей точкой вычисляются гораздо медленнее чем целочисленные, поэтому при написании время-критичного кода остерегайтесь большого количества операций над переменными с плавающей точкой. Используйте функции конвертирования чисел с плавающей точкой в целочсленные для увеличения скорости работы программы.

double
Описание

Double это тип данных переменной с плавающей точкой двойной точности. Однако, в Arduino на данный момент, точность double аналогична точности float — т.е. занимает 4 байта.

string
Описание

Строки это массивы символов, завершающиеся нулевым сиволом
Пример
Ниже представлены все правильные объявления переменных типа char.
char Str1[15];
char Str2[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o'};
char Str3[8] = {'a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
char Str4[ ] = «arduino»;
char Str5[8] = «arduino»;
char Str6[15] = «arduino»;

Возможности для объявления массивов
Объявление массива символов без занесения в него данных, Str1
Объявление массива символов с одной свободной ячейкой — компилятор автоматически добавит туда нулевой символ, Str2
Явное добавление нулевого символа, Str3
Инициализация массива без указания длинны, компилятор сам посчитает необходимое количество ячееек, плюс поставит нулевой символ, Str4
Инициализация массива я явным указанием длины массива и занесением в массив строковой константы, Str5
Инициализация массива, со свободным местом для более длинных строк, Str6

Нулевой символ
Как правило, строки заканчиваются нулевым символом (ASCII код 0). Этот симвлол указывает функции (например, Serial.print ()), что строка закончилась. В противном случае, функция будет продолжать чтение последующих байт памяти, которые фактически не являются частью строки.
Это означает, что ваша строка должна иметь место для еще одного символа, чем необходимое для умещения вашей строки. Вот почему Str2 и str5 необходимо восемь символов, хотя в «Arduino» только семь — последнее место автоматически заполняется нулевым символом. STR4 станет автоматически строкой с 8 символами и нулевым символом в конце В STR3, мы четко указали нулевой символ ('\ 0').

Одинарные или двойные кавычки?
строки всегда заключаются в двойные кавычки ( «ABC»), и символы — в одинарные ('').
Строки можно объявлять по частям:
char MyString [] = «Это первая линия»
«Это вторая линия»
«Прочее»;


Массивы строк
Наиболее удобным способом работы с большими объемами текста является использование массив. Поскольку строка — это и так массив, массивы получаются двухмерные. В коде ниже звездочкой после типа данных Char: символ “*» указывает, что это массив указателей. Все имена массива это на самом деле указатели, так что в результате мы работаем с массивом массивов. Указатели являются одними из наиболее сложных для понимания операторов в C для начинающих, однако не обязаельно знать их общее назначение для понимания назначения в данном применении.

Массивы
Массив представляет собой набор переменных, доступных по порядковому номеру.
Создание (объявление) Массив
Все методы, описанные ниже это правильные объявления массивов:
Int myInts [6];
Int myPins [] = (2, 4, 8, 3, 6);
Int mySensVals [6] = (2, 4, -8, 3, 2);
char message[6] = «hello»;

Вы можете объявить массив без инициализации, как в myInts.
В myPins мы объявляем массив без явного выбора размера. Компилятор подсчитывает элементы и создает массив соответствующего размера.
Наконец, вы можете инициализировать как и размер вашего массива, как и в mySensVals. Обратите внимание, что при объявлении массива типа CHAR, потребуется мето для нулевого символа.


Доступ к массиву
Индекс в массивах начинается с нуля:
mySensVals [0] == 2, mySensVals [1] == 4, и так далее.
Это также означает, что в массиве с десятью элементами, последний будет под номером 9. Итак:
Int myArray [10] = () 9,3,2,4,3,2,7,8,9,11;
/ / myArray [9] содержит 11
/ / myArray [10] является недействительным и содержит случайную информацию (другой адрес памяти)

По этой причине вы должны быть осторожны в получении доступа к массивам. Доступ к несуществующим ячейкам массива приводит к чтению других областей памяти, а запись в эти области может быть критична. Такой баг считается один из сложноуловимых.
В отличие от основного или Java, компилятор С, не проверяет, существует ли ячейка с таким порядковым номером или нет
Чтобы присвоить значение элементу массива: 
mySensVals [0] = 10;
Для получения значения элемента массива: 
X = mySensVals [4];

Массивы и циклы
Массивы в основном обрабатываются при помощи циклов, где счетчиком цикла является индекс ячейки.
Например, для вывода элементов массива через последовательный порт, можно использовать следующее:
int i;
for (i = 0; i < 5; i = i + 1) {
Serial.println (myPins[i]);
}

Типы данных, Описание языка Arduino

11.04.2011, 11407 просмотров.

Корзина пуста

Перейдите в каталог, выберите требуемый товар и добавьте его в корзину.

Метки