Arduino:Примеры/Различие между char и int
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Проверка/Оформление/Редактирование: Мякишев Е.А.
Различие между char и int
При приеме/передачи между Arduino и ПК по последовательному порту для представления букв, цифр, символов и управляющих команд используется кодировка ASCII(7-битная кодировка, 128 символов и команд). Поэтому при отправке символа или цифры, например "7" или "C", мы отправляем байт, который ПК представляет как символ.
Когда вы отправляете с ПК на Arduino какие-то данные(символ или число), вы должны сохранить их в переменную типа char(прочитать байт как символ). И только потом, если вы ожидали число, конвертировать его.
Есть несколько способов отправки числовых данных на Arduino:
- Сравнение символов. Если вы хотите выполнить какое-либо действие, при получении числа, то можно просто сравнить значения символов.
if(Serial.read() == '1') // одинарные кавычки, говорят о том что это символ, а не цифра
{
// выполнение каких либо операторов
}
- Преобразование входящего байта в целочисленное значение, вычитаем символа '0'. Данный метод можно использовать только для чисел не больше 9.
// Если мы считаем для примера, символ числа '9' (код 57 кодировки ASCII)
// и затем вычтем символ '0' (код 48 кодировки ASCII)
// мы получим символ горизонтальной табуляции с кодом 9 кодировки ASCII
// 57 - 48 = 9
// в целочисленной переменной number сохранится число 9
int number = Serial.read() - '0';
- Использование функции Serial.parseInt(). Данный метод можно использовать для любых целочисленных значений.
if (Serial.parseInt() == 100) // в данном случае мы сравниваем целочисленные значения
{
// выполнение каких либо операторов
}
Необходимые компоненты
Монтажная схема
Для данного примера не нужно собирать схему.