ASSERT()
ASSERT()は、基本的なプログラムのデバッグに非常に役立ちます。 ブール値を受け取ります。 例えば:
code:sample1.ino
ASSERT(state == WAIT);
0は偽であり、その他の数は真です。 ブール値が真の場合、アサーションは成功し、プログラムは通常どおりに続きます。 偽の場合、アサーションは失敗します。プログラムが停止し、デバッグ情報がUSART2に出力され、ステータスLEDが鳴り始めます(点滅とは著しく異なります)。 デバッグ情報は、9600ボーで表示され、ASSERT()が失敗したファイル名と行番号で構成されます。
アサーションをプログラムに含めると、プログラムのサイズが大きくなります。
libmapleをコマンドラインからのみ使用する場合は、wirish.hまたはlibmaple.hのいずれかをインクルードする前に、
#define DEBUG_LEVEL DEBUG_NONE
を定義することで無効にすることができます。この場合、すべてのアサーションはクロックサイクルを失うことなく通過します。 これはIDEでは動作しません。 この定義でも、アサーションは引き続き有効になります。
注意
Arduino STM32でのデバッグ情報の出力については未確認です。
Arduino STM32でのコマンドラインからの利用が出来るかは未確認です。純正なMapleの環境にてコマンドラインで使用する方法については、はMapleのリファレンスCommand-Line Toolchainにて方法が説明されています。 このドキュメントはleafLabs, LLC.が執筆し、たま吉が翻訳・一部加筆修正したものです。