【変数のチェック】
プログラムのデバッグには、当然ながら、実行途中での各変数や、SFRの
値をチェックする必要があります。
シミュレーションでは、これをチェックする方法がいくつか用意されています。
いずれもブレークポイントで実行を中断させて、そのときの値をチェックします。
用意されている方法には下記のようなものがあります。
(1) Watch Window
(2) File Registers
(3) Special Function Registers
(4) MouosOver Feature(Popup Window)
【Watch Windowによるチェック】
Watch Windowは変数やSFRのチェックには最も便利にできていて、自分が指定
した変数やSFRだけを停止時に常時モニタすることができます。
Watch Windowは、View → Watchで下記のように開くことができます。
表示内容は図のように、
◆指定したSFRや変数のアドレスと変数名と値が表示されます。
◆値は、前回停止時から今回までの間に変更があれば赤字で無ければ黒字
で表示されます。
◆C言語のプログラムの場合に配列変数を選択すると、全要素毎に自動的に分解
されて表示されます。
◆この窓表示に新規に変数を登録するにはいくつかの方法があります。
(1) 窓から選択する方法
下図の上側にある2つの選択窓を使う方法で、左側がSFRの選択窓でここで
SFRを選択してからAdd SFRボタンをクリックすれば追加されます。
また右側が変数の選択窓で、ここで変数を選択してからAdd Symbolボタンを
クリックすればその変数が追加されます。
(2) ドラッグドロップによる方法
エディタに記述されている変数やSFRはその変数名を選択してドラッグドロップ
すれば追加されます。
◆変数の値を変更入力することができます。
値の欄でダブルクリックすると入力モードになり、値を変更してプログラムを実行
させることができます。
◆表示形式の変更
Vlaue欄はデフォルトでは16進数で表示されますが、この表示形式を変更すること
ができます。
形式変更したい値の欄を選択してから右クリックして表示されるポップアップウィンドウ
でPropertiesを指定すると下図のような選択用ダイアログが表示されますので、ここで
Formatで形式を指定すれば、変更されます。
◆表示形式の追加
上図のPropetiesの変更では選択した変数だけしか変更できませんが、次の方法
で表示形式を追加すれば全変数の表示形式が追加されます。
このためには、Watch WindowのValueの右側の見だし空欄で右クリックすると
下図のような追加形式の選択ダイアログが表示されますので、ここで追加したい
表示形式をクリックしてチェックを追加するだけで全変数の表示形式が追加されます。
◆変数のファイル出力
MPLAB ICD2をデバッグモードで使っているときには、このWatch Windowの変数の値を
PIC内のメモリから取り出してパソコンのファイルとしてExport出力保存することができます。
【File Registersによる表示】
データメモリの内容をすべて一緒に表示するもので、0番地から最大番地まで全部を
表示します。
この表示は View → File Registers とすれば下図のように表示されます。
◆表示形式の変更
表示形式を左下にあるタブでHex形式とSymbol形式の2通りで切り替えることが
できます。
◆値の変更
値の表示されている場所でダブルクリックすることで指定した値が入力モード
になりますので、ここから直接入力して変更することができます。
(16進数表示の場合の例)
【Special Function Registers】
View → Special Function Registers で下記ダイアログが表示され、ここに
すべてのSFRの一覧表が表示され、現在値が16進数、10進数、バイナリ
文字と各種の形式で表示されます。
また数値をダブルクリックすれば、値を変更することができます。
ただし、この変更が有効になるのは、ポートの場合には出力ピンに対応する
ビットだけです。他の制御用のレジスタ類は変更できます。
【マウスオーバーによる表示】
エディタ上で、変数名の上にマウスカーソルを置けば、その変数のアドレスと現在値を
ポップアップで表示します。
ただしこの表示は、エディタのPropertiesで下図のように設定を追加する必要があります。