MPLABX IDEシミュレータの使い方( Stimulus その2 )

関連

MPLABX IDEシミュレータの使い方( Stimulus その1 )
MPLABX IDEシミュレータの使い方( Stimulus その3 )
MPLABX IDEシミュレータの使い方( Stimulus その4 )
MPLABX IDEシミュレータの使い方( Stimulus その5 )

Stimulusのつづき。前回使った機能はAsynchronousタブの機能になるが、ほかにもいくつかある中のClock Stimulusについてメモを残しておく。

stimulus_clock001

なんとなく、設定パラメータから想像が付いた感がある通り、サイクル刻みの周期的な信号を入力できる。STARTとENDはそれぞれ同じようなパネルで設定が可能。

stimulus_clock004

下図は、RA2のデジタル入力ピンに対して、開始がLow、Lowサイクルが3、Highサイクルが10、デバッグ開始から延々と信号を送り続ける設定になる。

stimulus_clock002

最後に設定を反映するために下図の適用ボタンを押す。

stimulus_clock003

適用後、デバッグを一時停止してLogic AnalyzerでRA2を見ると、矩形波が入力されている事がわかる。

stimulus_clock005

いろんなパターンのアナログ入力をファイルで定義する

http://zattouka.net/GarageHouse/micon/MPLABX/Simulator2.htm

外部ファイルに記述したアナログ値でシミュレーションすることもできる。

まずは、Simulatorの設定を変更しておく。Periph:ADC1を選択して、Use MPLAB 8 Style..にチェックを入れる。

(注意) 上記の"Use MPLAB 8 Style.."をチェックONすると、下記のRegister Injectionからのアナログ入力モードになって、AsynchronousタブのトリガーボタンでAN0に値を設定しても反映されなくなる。排他的な機能だということに留意する。Asynchronousタブについては、"その1"で触れている。

mplabx_scl003

テキストファイルに16進表記で、ADCの分解能までの値を記述する。(フォーマット指定で10進でも可能)

32
64
96
C8
FF

StimulusのRegister Injectionタブを選択して下図のように設定する。TriggerはDemand以外よくわからず。

Reg/Var 設定したいレジスタを指定
Trigger Demand
Data Filename 作成したテキストファイル
Wrap テキストの最後まで設定したあとどうするか。YESだと先頭行から繰り返し設定する
Format テキストファイルの値のフォーマットを指定。HEXだと16進、DECだと10進

mplabx_scl004

最後にApplyボタンを押して、適用する。このボタンはトグルになっているので、適用/除外を指定できる。

適用

mplabx_scl007

除外

mplabx_scl008

デバッグでサイクルごとにブレークで止めて、ウォッチパネルでレジスタの値を見てみると、テキストの値が順番に設定されることがわかる。

mplabx_scl005

mplabx_scl006