Приветствую Вас ГостьПятница, 03.05.2024, 13:15

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

Метод Serial.print()

Описание

Метод Serial.print() выводит через последовательный порт заданный ASCII-текст в виде, понятном для человека. Эта команда может иметь несколько разных форм. При выводе числа каждой его цифре соответствует один ASCII-символ. Дробные числа тоже выводятся в виде ASCII-цифр, при этом после запятой по умолчанию оставляется два десятичных знака. Байты выводятся в виде отдельных символов, а символы и строки выводятся без изменений - как есть. Например:

 Serial.print(78); //выведет "78"
 Serial.print(1.23456); //выведет "1.23"
 Serial.print('N'); //выведет "N"
 Serial.print("Hello world."); // выведет "Hello world."

Необязательный второй параметр задает формат вывода. Этот параметр может принимать следующие значения: BIN (двоичная система с основанием 2), OCT (восьмеричная система с основанием 8), DEC (десятичная система с основанием 10), HEX (шестнадцатеричная система с основанием 16). Для вещественных чисел этот параметр определяет количество десятичных знаков после запятой. Например:

 Serial.print(78, BIN); //выведет "1001110"
 Serial.print(78, OCT); //выведет "116"
 Serial.print(78, DEC); //выведет "78"
 Serial.print(78, HEX); //выведет "4E"
 Serial.println(1.23456, 0); //выведет "1"
 Serial.println(1.23456, 2); //выведет "1.23"
 Serial.println(1.23456, 4); //выведет "1.2346"

Метод Serial.print() можно передавать и строки, записанные во флеш-память контроллера. Для этого их нужно заключить в конструкцию F(). Например:

Serial.print(F(“Hello World”));

Для отправки отдельного байта используйте функцию Serial.write().

Синтаксис

Serial.print(val);
Serial.print(val, format);

Параметры

val - значение, которое необходимо вывести - любой тип данных.

format - определяет систему счисления (для целочисленных типов), а также количество десятичных знаков после запятой (для чисел с плавающей точкой).

Возвращаемые значения

size_t (long) - метод Serial.print() возвращает количество выведенных байт. Считывание этого значения не обязательно.

Пример

/*
Использования цикла FOR для обработки данных и вывода чисел в различных форматах.
*/
int x = 0; // переменная
 
void setup() {
 Serial.begin(9600); // открываем последовательный порт на скорости 9600 бод 
}
 
void loop() { 
 // print labels
 Serial.print("NO FORMAT"); // выводим метку
 Serial.print("\t"); // выводим символ табуляции
 
 Serial.print("DEC"); 
 Serial.print("\t"); 
 
 Serial.print("HEX");
 Serial.print("\t"); 
 
 Serial.print("OCT");
 Serial.print("\t");
 
 Serial.print("BIN");
 Serial.print("\t");
 
 for(x=0; x< 64; x++){ // немного ASCII-графики, можете изменить код по своему вкусу
 
 // выводим значение в различных форматах:
 Serial.print(x); // выводим как десятичное число - то же, что и формат "DEC"
 Serial.print("\t"); // выводим символ табуляции
 
 Serial.print(x, DEC); // выводим десятичное число ASCII-символами
 Serial.print("\t"); // выводим символ табуляции
 
 Serial.print(x, HEX); // выводим шестнадатиричное число ASCII-символами
 Serial.print("\t"); // выводим символ табуляции
 
 Serial.print(x, OCT); // выводим восьмиричное число ASCII-символами
 Serial.print("\t"); // выводим символ табуляции
 
 Serial.println(x, BIN); // выводим двоичное число ASCII-символами
 //с символом возврата каретки, который добавляет функция "println"
 delay(200); // задержка в 200 миллисекунд
 }
 Serial.println(""); // выводим еще один символ возврата каретки
}

Совет:

Во всех версиях Ардуино, начиная с версии 1.0, последовательная передача данных осуществляется асинхронно, вследствие чего метод Serial.print() завершается до самой отправки данных.

Смотрите также:

available()

begin()

end()

flush()

peek()

println()

read()

setTimeout()

write()

serialEvent()

Memory


Библиотека Serial

Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Serial/Print
Категория: Справочник | Добавил: magi (03.02.2015)
Просмотров: 3440 | Теги: библиотека, serail, print | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски