ソースレベルのブレークポイントを設定し、実際のハードウェアでコードを実行し、変数を検査して続行する方法はありますか?
Visual Micro Microsoft Visual Studio 2015 Community Edition用プラグイン(無料)は、Arduino用のUSBデバッガーを提供します。説明どおりに行うことができます。 (IDEインストール)中にクリックしてC++をインストールすることを忘れないでください。
デバッガーは、シリアル、RF、Bluetooth、および一部のWi-Fiをサポートしています。 Arduinoの実行中に変数の値を監視または更新できます。チャート、データ/ピンの視覚化、ウォッチ、トレース、ブレークが含まれています。
ニュース:2016年1月には、Arduino Zero用のGDBデバッガーのリリースも含まれています。シリアル/ Bluetoothデバッガーと同様に、GDBバージョンはino/cppソースコードをサポートしますが、さらにArduinoコアとライブラリのデバッグをサポートします。ステップオーバー、ステップアウト、ステップ命令またはソース行のステップ、メモリ、レジスタ、ローカル、ウォッチ、ライブ式、スタックトレースなどの多くの機能をサポートしています。
Arduinoで「ソースブレークポイント」を設定する方法は、シリアル出力を追加して、表示したい値をシリアルモニターに送信することです。
準備ができたら、次のステップは、WinAVR、AVR Studio、およびAtmel JTAG Mark IIまたはAtmel Dragonに移動することです。
これらのプログラムとデバイスを使用すると、Cコードを作成し、コードを1ステップ実行して、変数とレジスタを監視できます。 JTAGデバイスは、コンパイラが作成したCコードまたはアセンブリコードをシングルステップ実行できます。
高レベルの組み込みCプログラミングはまだマシンに非常に近いため、コードの正常な動作を妨げることが多いため、シングルステッピング割り込みルーチン、タイマールーチン、その他の低レベルルーチンに注意する必要があることに注意してください。
変数を検査するために、シリアルモニターに変数を出力します。現在私が取り組んでいる例は次のとおりです。
# Setup
Serial.begin(9600);
# Loop
Serial.println(String(index) + " : " + String(total) + " : " + String(average));