ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

fgetl (serial)

デバイスから ASCII テキストの行を読み取って終端子を削除

構文

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 に制限されています。

R2006a より前に導入