Отладка средствами Serial.println()

При разработке проекта важна отладка, мы делаем её средствами Serial.println().

Чтобы после окончания разработки не убирать из кода все вызовы Serial и не нагружать код условными конструкциями

#ifdef DEBUG…. #endif,

можно сделать так:

#ifdef DEBUG_ENABLE

#define DEBUG(x) Serial.println(x)

#else

#defineDEBUG(x)

#endif

Если DEBUG_ENABLE задефайнен – все вызовы DEBUG() в коде будут заменены на вывод в порт.

Если не задефайнен – они будут заменены НИЧЕМ, то есть просто “вырежутся” из кода!

Также по DEBUG_ENABLE можно запустить сериал и получить полный контроль над отладкой:

если она не нужна – убрали DEBUG_ENABLE и из кода убрался запуск порта и все выводы, что резко сокращает объём занимаемой памяти:

// раздефайнить или задефайнить для использования
//#define DEBUG_ENABLE
#ifdef DEBUG_ENABLE
#define DEBUG(x) Serial.println(x)
#else
#define DEBUG(x)
#endif

void setup() {
  #ifdef DEBUG_ENABLE Serial.begin(9600); FALLING);
  #endif
}

void loop() {
  DEBUG("kek"); delay(100);
}

Ссылка на источник: https://alexgyver.ru/arduino-algorithms/