フラグによって有効/無効にできるarduinoで、ある種の詳細なデバッグ出力が必要です。たとえば、次のようなことができる機能が欲しい
#define VERBOSE
#define VERBOSE_PRINT(text) #ifdef VERBOSE Serial.println(text); #endif
コードの後半:
VERBOSE_PRINT("Doing something");
VERBOSE が定義されている場合は、シリアル ポート経由で情報を取得する必要があります。定義されていない場合、そのコードはコンパイルされません。残念ながら、これは機能していません。「エラー: '#' の後にマクロ パラメータが続きません」というエラーが表示されます。だから、オプションでコンパイルされた印刷物(またはそれに関するもの)を取得する最良の方法は何だろうと思っています。もちろん、#ifdef を手動で書き出すこともできますが、大量のスペースを占有せず、使用するたびに書き出す必要がないように合理化したいと考えています。関数内の #ifdef を使用する関数は、これを行うための最良の方法ですか?