USARTのシミュレーション方法(Stimulus Controller)


【USARTのシミュレーション】

 MPLAB IDEのシミュレータを使ってUSARTのシリアル送受信を擬似的に
行うことができます。
 シミュレーション方法にはいくつかの方法がありますが、まずは簡単な
Stimulus Controllerを使った方法を説明します。

【USARTシミュレーションの許可】

まずUSARTのシミュレーションを行うことができるように設定する必要があります。
当然DebuggerはMPLAB SIMを選択してシミュレータが動いている状態とします。
Debugger → Settings → Uart1 I/Oタブ で下記のダイアログが開きますので
下図のように Enable Uart1 I/Oにチェックを入れます。
これでその下側の入力ができるようになりますので、設定をします。
ここでのUARTのシミュレーションには下記のいずれかの方法を選択します。

(1) 入力は直接入力かファイルからの入力
   直接の場合は特に設定不要
   ファイルの場合には、ディレクトリとファイル名を指定入力
   ここで指定したファイルはSCLで指定して使います。
   (注:本ページではこのファイル指定は使いません)
(2) 出力はWindow表示にするかファイルに出力するか
   Windowsの場合はWindowにチェックするだけです。これでOutputのウインドウ
   にSIM Uart1というタグが追加され窓が増えます。
   Fileの場合にはディレクトリとファイル名を指定します
(3) 繰り返し指定
   同じ入力を繰り返す場合にはRewind Inputにチェック




【USART出力のWindow出力シミュレーション】

USARTの出力をWindowに指定した場合には、簡単で、USARTへの出力を
実行する都度、下図のようにOutputのウインドウにあるSIM Uart1窓に出力
したデータが表示されます。基本的に表示はASCII文字で行われますので
出力データはASCII文字でしておくとデバッグがやりやすくなります。
下図は実際に出力した例です。




SIM Uart1の窓内で右クリックすると上図のようなドロップダウンメニューが
表示されます。ここでClear Pageを選択すると窓内の表示が全て消去され
ます。
Propertiesを選択すると表示フォントの変更ができます。

ファイル出力を選択した時には、上図と同じ内容がテキストファイルとして
出力されます。

【Stimulus Controllerによる直接擬似USART入力】

Stimulus Controllerを使ってUSARTの擬似入力する方法を説明します。

これを使うには、まず Debugger → Stimulus Controller → New Scenario
とすると下記ダイアログが開きます。ここからレジスタに擬似的に入力を与える
方法で実現します。

(1) Pin/SFRの欄でRCREGを選択
   USARTの受信レジスタを選択します。
(2) Actionの欄を選択して Direct MessageかFile Messageの選択をします。
   Direct Messageを選択すると、Comments/Message欄に直接擬似入力する
   メッセージが入力できるようになります。
   File Messageを選択すると、テキストファイルで用意したファイルから順番に
   取り出して擬似入力していきます。
(3) Comments/Message欄には直接入力データか、ファイル名を指定します
   直接擬似データは、""で囲んだASCII文字列か16進数のデータ列が指定
   できます。16進数の場合は数値だけを並べれば良いようになっています。
   Fireボタンを押した時にここで指定した文字列が同時に擬似入力されます。





【ファイルによる擬似入力】

Stimulus ControllerでFile Messageを指定したときには、Fireボタン押下で
あらかじめ用意したテキストファイルから順次入力していきます。
(Simulator Settingsで指定したテキストでは無いので要注意)

(1) 擬似入力するデータをテキストファイル(例 input.txt)として作成する。
   作成方法は次項参照。  保存はプロジェクトフォルダの中に行う
(2) Stimulus ControllerでActionでFile Messageを選択
(3) Comments/Message欄にファイル名を指定
(4) プログラムを実行させてから、Fireボタンを押すとファイル内容が
  擬似入力される。
  入力のされかたはテキスト内容による。下記のような空白行が間に入ると
  1文字入力ごとに擬似入力は完了するので、Fireボタン押下ごとに1文字の
  擬似入力となる。





【擬似入力用テキストファイルの作成方法】

単純なテキストファイルとして作成します。
この入力方法では下記の規則があります。

(1) ASCII文字列の場合には""で囲う
  16進数列の場合には数字のみ記述
  バイト単位で間にスペースを挿入すれば連続データとみなされる。
(2) 空白行で擬似入力は一旦完了する






   目次ページへ