外部インタフェース/API | ![]() ![]() |
指定したバイト数が入力バッファで利用可能であるか、あるいはターミネータば読み込まれたときに実行するM-ファイルアクション関数を指定します。
詳細
バイト利用可能なイベントの発生時にM-ファイルアクション関数を実行するためにBytesAvailableAction
を設定します。バイト利用可能なイベントは、BytesAvailableActionCount
プロパティで指定されたバイト数が入力バッファで利用可能か、あるいはBytesAvailableActionMode
プロパティで指定されたターミネータが読み込まれた後に発生します。
RecordStatus
プロパティ値がon
で、バイト利用可能なイベントが発生する場合は、レコードファイルは以下の情報を記録します。
BytesAvailable
としてアクション関数の作成方法については、アクション関数の作成と実行を参照してください。
特性
参照のみ |
不可 |
データタイプ |
アクション関数 |
値
例題
シリアルポートCOM1に接続されているTektronix TDS 210 two-channelオシロスコープに対してシリアルポートオブジェクトs
を作成します。
s = serial('COM1');
入力バッファで40バイトが利用可能であるときM-ファイルアクション関数instraction
を実行するようにs
を設定します。
s.BytesAvailableActionCount = 40; s.BytesAvailableActionMode = 'byte'; s.BytesAvailableAction = 'instraction';
fopen(s)
識別情報を出力する範囲を通知する*IDN?
コマンドを書き出します。ReadAsyncMode
プロパティのデフォルト値はcontinuous
なので、データは機器から利用可能になるとすぐに読み込まれます。
fprintf(s,'*IDN?')
BytesAvailable event occurred at 18:33:35 for the object: Serial-COM1.
56バイトが読み込まれ、instraction
が1回呼び出されます。結果の表示は以下の通りです。
s.BytesAvailable ans = 56
入力バッファから25バイトを削除し、測定の設定を出力する範囲を通知するMEASUREMENT?
コマンドを実行すると仮定します。
out = fscanf(s,'%c',25);
fprintf(s,'MEASUREMENT
?')
BytesAvailable event occurred at 18:33:48 for the object: Serial-COM1. BytesAvailable event occurred at 18:33:48 for the object: Serial-COM1.
入力バッファには102バイトあり、それらの31個は*IDN?
コマンドによるものです。instraction
は2回呼び出されます。1回目は、40バイトが利用可能で、もう1回は80バイトが利用可能なときです。
s.BytesAvailable ans = 102
関数
プロパティ
BytesAvailableActionCount
, BytesAvailableActionMode
, RecordStatus
, Terminator
, TransferStatus
![]() | BytesAvailable | BytesAvailableActionCount | ![]() |