База знаний · Ошибки и решения

Кракозябры в мониторе порта

Абракадабра вместо текста лечится одной кнопкой — «Подобрать скорость». Разбираем, почему.

Открыли монитор порта, а там «⸮⸮⸮ы0э» вместо нормального текста? Плата исправна и код работает — просто компьютер и плата разговаривают на разных скоростях. В Trema IDE эта проблема решается одной кнопкой.

Почему появляются кракозябры

Плата отправляет данные с той скоростью, которую вы указали в коде командой Serial.begin(9600) (или 115200 — чисел много). Монитор порта слушает со своей скоростью. Если числа не совпали, байты «нарезаются» неправильно — и на экране абракадабра. Это как крутить радиоприёмник мимо станции: эфир есть, а слов не разобрать.

Скорость задаётся в коде одним числом — вот оно, в первой строке setup():

void setup() {
  // 9600 — скорость обмена. Ровно это же число должно стоять
  // в мониторе порта, иначе вместо текста будут «кракозябры».
  Serial.begin(9600);
  Serial.println("Плата на связи");
}

void loop() {
  Serial.print("Работаю уже ");
  Serial.print(millis() / 1000);  // секунды с момента включения
  Serial.println(" секунд");
  delay(1000);
}

Число в Serial.begin() и число в мониторе — это одна и та же настройка, заданная в двух местах. Разошлись — получите кракозябры.

Решение: кнопка «Подобрать скорость»

В мониторе порта Trema IDE нажмите «Подобрать скорость»: программа сама переберёт стандартные скорости и остановится на той, где текст читается. Две секунды — и вместо кракозябр нормальные сообщения. Вручную ничего перебирать не нужно.

Настройка скорости обмена в Trema IDE с предупреждением о непонятных символах
Программа предупреждает прямо в настройках: не совпадёт скорость — вместо текста будут кракозябры.

Чтобы не повторялось

  • Запомните свою скорость из Serial.begin(...) — чаще всего это 9600 или 115200.
  • Держите одну и ту же скорость во всех своих скетчах — меньше сюрпризов.
  • Кракозябры только в первый момент после прошивки или сброса платы — это нормально: пара «мусорных» байтов при перезапуске не в счёт.

Если кнопка не помогла

Значит, дело не в скорости: возможно, плата вообще ничего осмысленного не шлёт. Проверьте, есть ли в коде Serial.begin и Serial.println, и загляните в статью «Монитор порта пуст: почему плата молчит». Полный гид по монитору и графику — на странице «Монитор порта».

Частые вопросы

Какая скорость правильная?

Та, что указана в вашем коде в Serial.begin — чаще всего 9600 или 115200. Кнопка «Подобрать скорость» найдёт её автоматически.

Обновлено: 19 июля 2026