Serial.begin и скорость передачи
Открывайте канал USB на соответствующей скорости
«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 — локальная установка не требуется.
Все уроки этого курса
- Serial.begin и скорость передачи
- Serial.print и println
- Просмотр показаний датчиков в реальном времени
- Чтение введённых Вами команд