База знаний · Монитор порта и график

«Подобрать скорость»: конец кракозябрам

Программа сама находит скорость, на которой сообщения платы читаются, — одной кнопкой.

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

Почему скорости должны совпадать

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

Скорость живёт в одной строке скетча. Здесь она не 9600, а 115200 — и монитор, открытый на 9600, покажет мусор:

void setup() {
  // 115200 — быстрая скорость. Плата будет говорить именно так,
  // и монитор должен быть переключён на то же число.
  Serial.begin(115200);
  Serial.println("Говорю быстро: 115200 бод");
}

void loop() {
  Serial.print("Отсчёт: ");
  Serial.println(millis());
  delay(500);
}

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

Что делает кнопка

  1. Программа по очереди пробует стандартные скорости.
  2. На каждой оценивает поток: похоже на осмысленный текст — или на шум.
  3. Останавливается на скорости, где данные читаются, — и монитор продолжает на ней.

Пара секунд — и кракозябры превращаются в сообщения. Ручной перебор «9600? 57600? 115200?» уходит в историю.

Кнопка «Подобрать скорость» в мониторе порта Trema IDE
«Подобрать скорость» — кнопка для случая, когда нужное число никто не помнит.

Советы на будущее

  • Запомните свою цифру. Чаще всего это 9600 (медленно и надёжно) или 115200 (быстро, стандарт для ESP32).
  • Одна скорость во всех скетчах — меньше сюрпризов при переключении между проектами.
  • Мусор в первый момент — не страшно. Пара странных символов при сбросе платы — нормальное явление, а не рассинхрон.

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

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

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