MPLAB SIMが役に立った [PICkit3]
TMR2割り込みが入らなかったり、設定してもNCOが動かなかったりして、PIC10F322のMPLAB SIMには”イマイチ使えない感”を抱いていたのですが、”Stimulus”が使えるようになって漸くシミュレータを利用するメリットを感じました。
PIC10F322にシリアル通信機能を持たせる計画ですが、そのデバッグをどのように進めるか悩みました。テスト信号(動的に変化する入力信号)を加えて受信機能をテストしようと思っても、内部の動作が判らないのではデバッグになりません。(一か八かで試すことは出来ても、カットandトライでデバッグする気にはなれない)
そこでMPLAB SIMのUser's Guideを読み直し、Stimulus機能を使ってみました。動的な制御が必要なので”Pin/Register Actionsタブ”で時刻に応じてポート入力や割り込み要求フラグを制御してみました。
μS単位でRA2,IOCIF,TMR2IFの動作を設定して、”Apply”ボタンをクリックすると、シミュレータの応答メッセージがOutputウィンドウに表示されます。
こんな感じ
そこで”Run”する(F9キーを押す)と・・・
ブレーク・ポイントで止まる
AD割り込みにブレーク・ポイントを設定しておく(シミュレーション終了時刻=1600μSにPIR1.ADIFをセットしている)と、シミュレーション直後の状態が確認できるという訳です。
始めたばかりですが、”MPLAB SIMのStimulus”はなかなか使えそうです。
PIC10F322にシリアル通信機能を持たせる計画ですが、そのデバッグをどのように進めるか悩みました。テスト信号(動的に変化する入力信号)を加えて受信機能をテストしようと思っても、内部の動作が判らないのではデバッグになりません。(一か八かで試すことは出来ても、カットandトライでデバッグする気にはなれない)
そこでMPLAB SIMのUser's Guideを読み直し、Stimulus機能を使ってみました。動的な制御が必要なので”Pin/Register Actionsタブ”で時刻に応じてポート入力や割り込み要求フラグを制御してみました。
μS単位でRA2,IOCIF,TMR2IFの動作を設定して、”Apply”ボタンをクリックすると、シミュレータの応答メッセージがOutputウィンドウに表示されます。
こんな感じ
そこで”Run”する(F9キーを押す)と・・・
ブレーク・ポイントで止まる
AD割り込みにブレーク・ポイントを設定しておく(シミュレーション終了時刻=1600μSにPIR1.ADIFをセットしている)と、シミュレーション直後の状態が確認できるという訳です。
始めたばかりですが、”MPLAB SIMのStimulus”はなかなか使えそうです。
|
|
|
コメント 0