関連
MPLABX IDEシミュレータの使い方( Stimulus その1 )
MPLABX IDEシミュレータの使い方( Stimulus その3 )
MPLABX IDEシミュレータの使い方( Stimulus その4 )
MPLABX IDEシミュレータの使い方( Stimulus その5 )
Stimulusのつづき。前回使った機能はAsynchronous
タブの機能になるが、ほかにもいくつかある中のClock Stimulus
についてメモを残しておく。
なんとなく、設定パラメータから想像が付いた感がある通り、サイクル刻みの周期的な信号を入力できる。STARTとENDはそれぞれ同じようなパネルで設定が可能。
下図は、RA2のデジタル入力ピンに対して、開始がLow、Lowサイクルが3、Highサイクルが10、デバッグ開始から延々と信号を送り続ける設定になる。
最後に設定を反映するために下図の適用ボタンを押す。
適用後、デバッグを一時停止してLogic AnalyzerでRA2を見ると、矩形波が入力されている事がわかる。
いろんなパターンのアナログ入力をファイルで定義する
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"で触れている。
テキストファイルに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進 |
最後にApplyボタンを押して、適用する。このボタンはトグルになっているので、適用/除外を指定できる。
適用
除外
デバッグでサイクルごとにブレークで止めて、ウォッチパネルでレジスタの値を見てみると、テキストの値が順番に設定されることがわかる。