| 外部インタフェース/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 | ![]() |