外部インタフェース/API | ![]() ![]() |
例題: イベントとアクションの利用
この例題は、バイト利用可能なイベントまたは出力が空のイベントが発生したときに、コマンドラインにイベントに関連する情報を表示するためにM-ファイルアクション関数instraction
を利用します。
1. シリアルポートオブジェクトを作成します。 - シリアルポートCOM1に対応するシリアルポートオブジェクトs
を作成します。
s = serial('COM1');
2. デバイスを接続します。 - s
をTektronix TDS 210オシロスコープに接続します。ReadAsyncMode
プロパティに対するデフォルト値はcontinuous
なので、データは機器から利用可能になるとすぐに入力バッファに非同期的に出力されます。
fopen(s)
3. プロパティを設定します。 - バイト利用可能なイベントあるいは出力が空のイベントの発生時にアクション関数instraction
を行うようにs
を設定します。
s.BytesAvailableActionMode = 'terminator';
s.BytesAvailableAction = 'instraction';
s.OutputEmptyAction = 'instraction';
4. データの書き出しと読み込み - RS232?
コマンドをオシロスコープに非同期的に書き出します。このコマンドは、RS-232設定を質問し、ボーレート、ソフトウェアフローコントロール設定、ハードウェアフローコントロール設定、パリティタイプ、ターミネータを出力します。
fprintf(s,'RS232?','async')
instraction
は、RS232?
コマンドが送信された後で、ターミネータが読み込まれたときに呼び出されます。結果の表示を以下に示します。
OutputEmpty event occurred at 17:37:21 for the object: Serial-COM1. BytesAvailable event occurred at 17:37:21 for the object: Serial-COM1.
out = fscanf(s) out = 9600;0;0;NONE;LF
5. 切断とクリーンアップ- s
が必要なくなったときは、機器から切断し、メモリおよびMATLABワークスペースから削除します。
fclose(s) delete(s) clear s
![]() | エラーの後でアクション関数を利用可能にする | 制御ピンの使用法 | ![]() |