Serial.print() против Serial.println() в Arduino

Serial Print Protiv Serial Println V Arduino



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

Серийный.принт() и Серийный.println() две наиболее часто используемые команды для последовательной связи в Arduino. В этой статье будут рассмотрены различия между Серийный.принт() и Серийный.println() и как они влияют на ваш проект Arduino.

Оглавление







Что такое последовательная связь

Прежде чем мы углубимся в различия между Серийный.принт() и Серийный.println() , давайте сначала поймем, что последовательная связь является. Последовательная связь это процесс передачи и приема данных. С помощью этого Arduino может передавать по одному биту данных за раз по протоколу последовательной связи. В Arduino мы используем объект Serial для обмена данными с ПК через порт USB.



Последовательная связь необходим для отладки и мониторинга поведения проекта Arduino. Вы можете использовать его для распечатки показаний датчиков, кода отладки или отображения сообщений на экране компьютера.



Серийный.принт()

Серийный.принт() это функция, которая отправляет данные на последовательный порт непрерывным потоком. Он позволяет отправлять данные в виде строки, символа или числового значения. Например, данный код отправляет строку « Привет, мир! ” к последовательному порту Arduino:





Серийный.печать ( 'Привет, мир!' ) ;

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

Серийный.println()

Серийный.println() похож на Серийный.принт() , но он добавляет символ разрыва строки (\n) в конце данных. Это показывает нам, что каждый раз Серийный.println() вызывается функция, следующий оператор печати начинается с новой строки. Например, данный код отправляет строку « Привет, мир! ” и добавляет разрыв строки:



Серийный.println ( 'Привет, мир!' ) ;

Это напечатает « Привет, мир! ” на последовательном терминале Arduino.

Разница между Serial.print() и Serial.println()

Основное различие между Серийный.принт() и Серийный.println() в том, что Серийный.принт() отправляет данные непрерывным потоком, а Серийный.println() отправляет данные с разрывом строки в конце.

Теперь мы рассмотрим пример кода, объясняющий работу обеих этих функций.

Пример Serial.print()

Ниже приведен код, объясняющий использование Серийный.принт() :

недействительная установка ( ) {
Серийный.начало ( 9600 ) ; // инициализировать последовательную связь в 9600 скорость передачи данных
}

пустая петля ( ) {
int randomValue = случайное ( 0 , 1023 ) ; // генерировать случайное значение между 0 и 1023

Серийный.печать ( 'Случайное значение:' ) ; // распечатать этикетку
Серийный.печать ( случайное значение ) ; // напечатать случайное значение в новой строке

задерживать ( 2000 г. ) ; // ждать для 500 миллисекунд перед повторной печатью
}

Этот код инициализирует последовательную связь со скоростью 9600 бод в функции setup(). Затем функция loop() генерирует случайное целое число от 0 до 1023 с помощью функции random() и сохраняет его в имени переменной. случайное значение .

Серийный.принт() Затем функция используется для печати этикетки « Случайное значение: ” на последовательный монитор, за которым следует фактическое случайное значение, которое печатается в той же строке без символа новой строки с использованием Серийный.принт() .

задерживать() Функция используется для приостановки выполнения цикла на 2000 миллисекунд (2 секунды).

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

Пример Serial.println()

Данный код демонстрирует использование Серийный.println() функция в ардуино.

недействительная установка ( ) {
Серийный.начало ( 9600 ) ; // инициализировать последовательную связь в 9600 скорость передачи данных
}

пустая петля ( ) {
int randomValue = случайное ( 0 , 1023 ) ; // генерировать случайное значение между 0 и 1023

Серийный.печать ( 'Случайное значение:' ) ; // распечатать этикетку
Серийный.println ( случайное значение ) ; // напечатать случайное значение в новой строке

задерживать ( 2000 г. ) ; // ждать для 500 миллисекунд перед повторной печатью
}

Код для Серийный.println() похоже на выше Серийный.принт() код. Единственным отличием здесь являются случайные значения, которые генерируются и печатаются с разрывом строки, который отсутствует в Серийный.принт() код.

Выход
Все значения печатаются с новой строки, как мы использовали Серийный.принт() вместо Серийный.println() :

Заключение

Последовательная связь является важным аспектом программирования Arduino. Серийный.принт() и Серийный.println() функции полезны для отображения данных на последовательном терминале Arduino. Понимание различий между ними и их правильное использование может помочь вам отладить свой код и взаимодействовать с внешними устройствами.