関連
MPLABX IDEシミュレータの使い方( Stimulus その1 )
MPLABX IDEシミュレータの使い方( Stimulus その2 )
MPLABX IDEシミュレータの使い方( Stimulus その4 )
MPLABX IDEシミュレータの使い方( Stimulus その5 )
Stimulusのつづき。今回はPin/Register Actions
についてメモを残しておく。
デフォルトの画面
ざっくりとした使い方
とりあえずADRESLレジスタの値を100usごとに値を変えてみる。
以下のプログラムは、上記の設定に合わせてADRESLの値を変えていって、ループ内で該当する値に合わせてピンのHigh/Lowを切り替えている。これでLogic Analyzerでピンの値をモニタリングしてみる。
※下記のプログラムに深い意味はないです。
while (1)
{
if( ADRESL == 0x01 ){
IO_RA1_SetHigh();
IO_RA2_SetLow();
IO_RA4_SetLow();
IO_RA5_SetLow();
}else if( ADRESL == 0x02 ){
IO_RA1_SetLow();
IO_RA2_SetHigh();
IO_RA4_SetLow();
IO_RA5_SetLow();
}else if( ADRESL == 0x03 ){
IO_RA1_SetLow();
IO_RA2_SetLow();
IO_RA4_SetHigh();
IO_RA5_SetLow();
}else if( ADRESL == 0x04 ){
IO_RA1_SetLow();
IO_RA2_SetLow();
IO_RA4_SetLow();
IO_RA5_SetHigh();
}
}
結果は下図になる。どうもこの機能には不具合があるようで、一番下の行が設定されない。なので一番下の行にダミー行を入れておいたほうが良い。
ダミー行を追加して再度トライ。(400usの行がダミー)
RA5のピンもHighになるようになった。
前回試したRegister Injection
のほうが使い勝手は良いが、こちらはレジスタだけでなくピンの値も設定できる。SCLファイルなどに出力して、ファイル上で加工して再度インポートするのも良いかもしれない。