ESP8266:Прошивки/Arduino/Отладка

Материал из Онлайн справочника
Перейти к: навигация, поиск

Перевод: Максим Кузьмин (Cubewriter)
Перевел 1871 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


Отладка[1]

Начиная с версии 2.1.0-rc1, аддон ESP8266 для IDE Arduino оснащен функцией отладки, управляемой через новые пункты в меню «Инструменты». Отладочные сообщения выводятся в режиме реального времени.

Требования

Для отладки потребуется последовательное соединение с платой (через Serial или Serial1). Класс Serial нужно инициализировать в блоке setup(). Скорость передачи данных выставьте на максимум, на который способно ваше оборудование.

Код, которого достаточно для отладки:

  1. void setup() {
  2.     Serial.begin(115200);
  3. }
  4.  
  5. void loop() {
  6. }

Использование

1. В пункте «Debug port» выберите интерфейс «Serial»:

Debug port.png

2. Выберите тип/уровень, который хотите использовать для отладочных сообщений:

Debug level.png

3. Проверьте, инициализировано ли в setup() последовательное соединение. Подробнее читайте выше, в разделе «Требования»

4. Загрузите скетч

5. Начните смотреть сообщения в мониторе порта

Информация

Функция отладки работает с любым скетчем, в котором включено последовательное соединение на выбранном в IDE Arduino отладочном порте. При этом сам скетч может нормально использовать это последовательное соединение для собственных целей. Вывод отладочной информации опционален и не помешает работе (тем более – не отключит) никакой интерфейс, используемый в скетче.

Для разработчиков

Для управления отладкой используйте директивы #define. Они задаются в командной строке.

Отладочный порт

У порта есть define-директива DEBUG_ESP_PORT, которая может принимать следующие значения:

  • Disabled – это значит, что #define не существует
  • Serial – интерфейс Serial
  • Serial1 – интерфейс Serial1

Уровень/тип отладки

Все #define, независимо от уровня/типа, начинаются с DEBUG_ESP_. Полный список можно найти в файле «boards.txt».

Пример

Отладочные сообщения будут выводиться в монитор порта только в том случае, если в пункте «Debug port» задан отладочный порт.

  1. #ifdef DEBUG_ESP_PORT
  2. #define DEBUG_MSG(...) DEBUG_ESP_PORT.printf( __VA_ARGS__ )
  3. #else
  4. #define DEBUG_MSG(...)
  5. #endif
  6.  
  7. void setup() {
  8.     Serial.begin(115200);
  9.  
  10.     delay(3000);
  11.     DEBUG_MSG("bootup...\n");  //  "загрузка...\n"
  12. }
  13.  
  14. void loop() {
  15.     DEBUG_MSG("loop %d\n", millis());  //  "цикл %d\n"
  16.     delay(1000);
  17. }

См.также

Внешние ссылки

  1. arduino-esp8266.readthedocs.io - Debugging