fgetl (serial)
(削除予定) デバイスから ASCII テキストの行を読み取って終端文字を削除
このオブジェクト関数 serial
は将来のリリースで削除される予定です。代わりにオブジェクト関数 serialport
を使用してください。コードの更新の詳細については、互換性についての考慮事項を参照してください。
構文
tline = fgetl(obj)
[tline,count] = fgetl(obj)
[tline,count,msg] = fgetl(obj)
説明
tline = fgetl(obj)
は、シリアル ポート オブジェクト obj
に接続しているデバイスから 1 行の ASCII テキストを読み取り、データを tline
に返します。返されたデータには、テキスト行に続く終端文字を含みません。終端文字を含めるには、fgets
を使用します。
[tline,count] = fgetl(obj)
は、読み取った値の数 (終端文字を含む) を count
に返します。
[tline,count,msg] = fgetl(obj)
は、読み取り操作が失敗した場合、警告メッセージを msg
に返します。
例
Windows® プラットフォームで、シリアル ポート オブジェクト s
を作成し、s
を Tektronix® TDS 210 オシロスコープに接続してから、関数 fprintf
を使用して RS232?
コマンドを記述します。RS232?
は、スコープにシリアル ポートの通信設定を返すように指示します。
s = serial('COM1'); fopen(s) fprintf(s,'RS232?')
ReadAsyncMode
プロパティの既定値は、continuous
であるため、データは自動的に入力バッファーに返されます。
s.BytesAvailable
ans = 17
fgetl
を使用して、以前の書き込み操作で返されたデータを読み込み、終端文字を削除します。
settings = fgetl(s)
settings = 9600;0;0;NONE;LF
length(settings)
ans = 16
s
のスコープへの接続を切断し、メモリとワークスペースから s
を削除します。
fclose(s)
delete(s)
clear s
ヒント
デバイスからテキストを読み取るには、関数 fopen
を使用して obj
に接続されていなければなりません。接続されたシリアル ポート オブジェクトでは、Status
プロパティの値が open
になります。obj
がデバイスに接続されていない間に、読み込み演算を行うと、エラーが返されます。
msg
が出力引数として含まれていない場合に読み取り操作が正常に実行できなかった場合は、コマンド ラインに警告メッセージが返されます。
ValuesReceived
プロパティ値は、fgetl
が実行される度に読み取られた値の数 (終端文字を含む) ずつ増加します。
メモ
127 文字数を超える ASCII 値を使用することはできません。この関数は、バイナリ文字数 127 に制限されています。
fgetl を使用した読み取り操作を完了するための規則
fgetl
を使用した読み取り操作では、以下の状態になるまで、MATLAB® コマンド ラインへのアクセスができなくなります。
Terminator
プロパティにより指定された終端文字に到達Timeout
プロパティで指定した時間が経過する入力バッファーが満杯になる
メモ
127 文字数を超える ASCII 値を使用することはできません。この関数は、バイナリ文字数 127 に制限されています。