Перші помилки, які визначаються отладчиком – це синтаксичні помилки. Їх же найлегше виправити. Неправильний синтаксис в Arduino IDE виділяється рядком, в якій допущена неточність. Потрібно розібратися – це помилка в написанні службового слова, випадково видалена важлива функція, не вистачає дужки яка закривається або неправильно відокремлені коментарі.
Помилки компіляції та їх вирішення, для плат Arduino
Синтаксичні помилки
Для визначення помилки уважно перегляньте рядок-підказку і внесіть необхідні зміни. Нижче ми наведемо приклади синтаксичних помилок компіляції коду, які найбільш часто зустрічаються:
- Помилка “expected initializer before ‘}’ token” говорить про те, що випадково видалена або не відчинена фігурна дужка.
- Помилка “a function-definition is not allowed here before ‘{‘ token” – аналогічна попередній і вказує на відсутність дужки що відкривається, наприклад, відкритих дужок в скетчі тільки 11, а закритих 12.
- Повідомлення про помилку “undefined reference to “setup” отримаєте в разі перейменування або видалення функції “setup”.
- Помилка “undefined reference to “loop” – виникає в разі видалення функції loop. Без команд цієї функції компілятор запустити програму не зможе. Для усунення треба повернути кожну з команд на потрібне місце в скетчі.
- Помилка “… was not declared in this scope” позначає, що в програмному коді виявлені слова, які написані з помилкою (наприклад, які позначають якусь функцію) або знайдені неоголошені перемінні, методи. Подібна помилка виникає також у разі випадкового видалення значка коментарів і текст, який не повинен сприйматися як програма, читається IDE.

Помилки бібліотек
Велика кількість помилок виникає на рівні підключення бібліотек або неправильного їх функціонування. Найбільш відомі:
- “fatal error: … No such file or directory”. Таке повідомлення ви отримаєте, якщо необхідну в скетчі бібліотеку ви не записали в папку libraries. Повідомлення про помилку в одному з підключених файлів може означати, що ви використовуєте бібліотеку з помилками або бібліотеки не сумісні. Рішення – звернутися до розробника бібліотеки або ще раз перевірити правильність написаної вами структури.
- “redefinition of void setup” – повідомлення виникає, якщо автор бібліотеки оголосив функції, які використовуються і в вашому коді. Щоб виправити – перейменуйте свої методи або в бібліотеці.
Помилки компілятора
Нестабільність в роботі самого компілятора теж можуть виникати при налагодженні програми. Варіантів виходу з даної ситуації може бути декілька, наприклад, встановити останню версію компілятора. Іноді рішенням може бути навпаки, повернення до більш старої версії. Тоді використовувана бібліотека може працювати коректно.
Помилки компіляції при роботі з різними платами - Uno, Mega і Nano
В Arduino можна писати програми під різні варіанти мікроконтролерів. За замовчуванням в меню обрана плата Arduino / Genuino Uno. Якщо забудете про те що потрібно вказати потрібну плату – в вашому коді будуть посилання на методи або змінні, що не описані в конфігурації “за замовчуванням”.
Ви отримаєте помилку при компіляції “programmer is not responding”. Щоб виправити її – перевірте правильність написання коду в частині вибору портів і виду плати. Для цього в Ардуіно IDE в меню «Сервіс» виберіть плату. Аналогічно вкажіть порт в меню “Сервіс” – пункт «Послідовний порт».
Помилка exit status 1
У середовищі розробки таке повідомлення можна побачити в багатьох випадках. І хоча в документації ця помилка вказується як причина неможливості запуску IDE Аrduino в потрібній конфігурації, насправді причини можуть бути і інші. Для того, щоб знайти місце, де ховається ця помилка можна “перелопатити” дійсно багато. Але все ж варто спочатку перевірити розрядність системи і доступні бібліотеки.
