Как проверить скетч 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.
Источники
- Arduino. How to upload a sketch with the Arduino IDE 2 (docs-content, K. Söderby, J. Hylén) — кнопка Verify (галочка) проверяет скетч на ошибки и компилирует его, Upload (стрелка) делает то же и записывает в плату; хорошая практика — сначала Verify; результат и ошибки — в консоли внизу окна
- Arduino. Using the Serial Monitor tool (docs-content, K. Söderby) — монитор порта — инструмент отладки и связи с платой; встроен в IDE 2 как вкладка на месте консоли, кнопка в правом верхнем углу; скорость задаётся в скетче Serial.begin(9600) и выбирается в настройках монитора; пример печатает Hello world! раз в секунду через Serial.println; в IDE 2 можно открыть несколько мониторов в разных окнах
Нашли ошибку?
Смотрите также
- Как подключить Arduino к компьютеру?Кабель USB, плата и порт в IDE 2, права на порт в Linux
- Как проверить Arduino на работоспособность?Светодиод ON, пример Blink и мигание L: питание, USB-мост и МК
- Как узнать скорость UART?Самый короткий импульс — один бит: скорость = 1 / t
- Arduino и AVRЧто делают init(), millis(), analogWrite(), analogRead() и загрузчик