Перейти к содержанию

Как проверить скетч Arduino?

Обновлено Редакция GAW

Скетч проверяют в два этапа: сначала — что он вообще собирается, потом — что делает на плате то, что нужно.

ЭтапЧемЧто находит
Компиляциякнопка Verify (галочка)опечатки, ошибки синтаксиса и типов, отсутствующие библиотеки
Загрузкакнопка Upload (стрелка)проблемы связи с платой и порта
Работа программымонитор порта и Serial.println()ошибки логики, неверные значения датчиков

Verify

По документации Arduino кнопка Verify проходит по скетчу, проверяет его на ошибки и компилирует, а Upload делает то же и затем записывает результат в плату. Поэтому Verify удобно нажимать до загрузки: ошибки появятся в консоли внизу окна, а плата не понадобится. Если загрузка не идёт, а компиляция проходит, дело в подключении — это разбирает ответ «Как подключить Arduino к компьютеру?».

Монитор порта

В Arduino IDE 2 монитор порта открывается кнопкой в правом верхнем углу и встаёт на место консоли. Минимальный скетч для проверки связи:

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

void loop() {
  Serial.println("Hello world!");
  delay(1000);
}

Скорость в мониторе должна совпадать с Serial.begin() — иначе вместо текста будут непонятные символы; как скорость связана с длительностью бита, объясняет ответ «Как узнать скорость UART?». Если сама плата под сомнением, проверьте её примером Blink — ответ «Как проверить Arduino на работоспособность?». Что ядро Arduino делает до вызова setup() и как устроен Serial, разбирает статья «Arduino и AVR».

Похожие вопросы

Почему в мониторе порта непонятные символы?

Скорее всего, скорость монитора не совпадает с той, что указана в Serial.begin(). Выберите в настройках монитора ту же скорость — например, 9600, если в скетче Serial.begin(9600).

Можно ли проверить скетч без платы?

Только на ошибки компиляции: кнопка Verify работает без подключённой платы, нужно лишь выбрать её тип. Логику программы без платы так не проверить — для этого нужны запуск на плате и монитор порта.

Почему компиляция проходит, а скетч не работает?

Verify находит только ошибки языка и сборки, а не ошибки логики, подключения или питания. Добавьте вывод значений в монитор порта, а саму плату проверьте примером Blink — как в ответе про проверку Arduino.

Источники

  1. Arduino. How to upload a sketch with the Arduino IDE 2 (docs-content, K. Söderby, J. Hylén) — кнопка Verify (галочка) проверяет скетч на ошибки и компилирует его, Upload (стрелка) делает то же и записывает в плату; хорошая практика — сначала Verify; результат и ошибки — в консоли внизу окна
  2. Arduino. Using the Serial Monitor tool (docs-content, K. Söderby) — монитор порта — инструмент отладки и связи с платой; встроен в IDE 2 как вкладка на месте консоли, кнопка в правом верхнем углу; скорость задаётся в скетче Serial.begin(9600) и выбирается в настройках монитора; пример печатает Hello world! раз в секунду через Serial.println; в IDE 2 можно открыть несколько мониторов в разных окнах

Нашли ошибку?