Arduino & IoT Academy · Урок

Serial.begin и скорость передачи

Открывайте канал USB на соответствующей скорости

Урок 1 из 413 шагов

«Serial.begin и скорость передачи» — бесплатный урок Arduino & IoT Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Arduino & IoT Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Arduino & IoT Academy содержит 4 уроков всего.

Двунаправленный канал

Ваша плата может обмениваться данными с компьютером по тому же кабелю USB, который её питает. Такой обмен называется последовательной связью. 🔌

Зачем нужна последовательная связь

У микроконтроллера нет экрана, поэтому последовательная связь позволяет заглянуть внутрь него. Вы выводите сообщения и наблюдаете за ними в реальном времени на компьютере.

Откройте канал

Перед любым выводом необходимо открыть соединение с помощью Serial.begin(). Сделайте это один раз внутри setup().

void setup() {
  Serial.begin(9600);
}

Что такое скорость передачи

Число, которое Вы передаёте в begin, — это скорость передачи: количество изменений сигнала в секунду, проходящих по проводу. Она задаёт скорость обмена.

9600 — классический вариант

Скорость передачи 9600 — удобное значение по умолчанию. Она невысокая, но очень надёжная, поэтому большинство учебных скетчей начинают именно с неё.

Serial.begin(9600);

Более высокая скорость при необходимости

Можно выбрать более высокую скорость, например 115200, чтобы передавать много данных без задержек. Более высокая скорость означает больше байтов в секунду.

Serial.begin(115200);

Обе стороны должны договориться

Вот главное правило: скорость передачи в Вашем коде должна совпадать со скоростью, заданной в мониторе последовательного порта, иначе Вы получите бессмысленные символы.

Непонятные символы означают несовпадение

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

Это нужно поместить в setup

Поместите Serial.begin() в setup(), а не в loop(). Вы открываете канал только один раз, после чего он остаётся открытым на протяжении всей программы.

void setup() {
  Serial.begin(9600);
}
void loop() {
}

Дождитесь готовности порта

На некоторых платах нужно добавить while (!Serial), чтобы приостановить выполнение до полной готовности USB-порта перед началом вывода.

Serial.begin(9600);
while (!Serial) { }

Выберите одну скорость

Выберите скорость передачи и используйте её во всём проекте. Несовпадение скоростей в разных скетчах — самая распространённая проблема при работе с последовательной связью.

Быстрая проверка

Вы задали Serial.begin(9600), но монитор показывает случайные символы. Что, скорее всего, пошло не так?

Повторение

Вы открыли USB-канал связи с помощью Serial.begin() в setup, узнали, что скорость передачи задаёт скорость обмена, и что она должна совпадать на обеих сторонах. 🎉

Можно начать бесплатно

Изучай C++ с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Serial.begin и скорость передачи» бесплатный?

Да — полный текст урока «Serial.begin и скорость передачи» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Arduino & IoT Academy, подпишись на CoddyKit PRO. Курс Arduino & IoT Academy содержит 4 уроков всего.

Чему я научусь в уроке «Serial.begin и скорость передачи»?

Открывайте канал USB на соответствующей скорости Ты практикуешь Arduino & IoT Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Arduino & IoT Academy?

Предыдущий опыт не требуется. Arduino & IoT Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Serial.begin и скорость передачи»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Arduino & IoT Academy?

Да. Каждый урок Arduino & IoT Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Serial.begin и скорость передачи
  2. Serial.print и println
  3. Просмотр показаний датчиков в реальном времени
  4. Чтение введённых Вами команд
← Назад к Arduino & IoT Academy