Main Content

fgets (serial)

(削除予定) 終端文字を含む 1 行のテキストをデバイスから読み取る

このオブジェクト関数 serial は将来のリリースで削除される予定です。代わりにオブジェクト関数 serialport を使用してください。コードの更新の詳細については、互換性についての考慮事項を参照してください。

構文

tline = fgets(obj)
[tline,count] = fgets(obj)
[tline,count,msg] = fgets(obj)

説明

tline = fgets(obj) は、シリアル ポート オブジェクト obj に接続しているデバイスから 1 行のテキストを読み取り、データを tline に返します。返されるデータには、テキスト行と共に終端文字も含まれています。終端文字を除外するには、fgetl を使用します。

[tline,count] = fgets(obj) は、読み取った値の数 (終端文字を含む) を count に返します。

[tline,count,msg] = fgets(obj) は、読み取り操作が失敗した場合、警告メッセージを msg に返します。

シリアル ポート オブジェクト s を作成し、s を Tektronix® TDS 210 オシロスコープに接続してから、関数 fprintf を使用して RS232? コマンドを記述します。RS232? は、スコープにシリアル ポートの通信設定を返すように指示します。

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

ReadAsyncMode プロパティの既定値は、continuous であるため、データは自動的に入力バッファーに返されます。

s.BytesAvailable
ans =
    17

関数 fgets を使用すると、以前の書き込み操作で返されたデータ (終端文字を含む) を読み取れます。

settings = fgets(s)
settings =
9600;0;0;NONE;LF
length(settings)
ans =
    17

s のスコープへの接続を切断し、メモリとワークスペースから s を削除します。

fclose(s)
delete(s)
clear s

ヒント

デバイスからテキストを読み取るには、関数 fopen を使用して obj に接続されていなければなりません。接続されたシリアル ポート オブジェクトでは、Status プロパティの値が open になります。obj がデバイスに接続されていない間に、読み込み演算を行うと、エラーが返されます。

msg が出力引数として含まれていない場合に読み取り操作が正常に実行できなかった場合は、コマンド ラインに警告メッセージが返されます。

ValuesReceived プロパティ値は、fgets が実行される度に読み取られた値の数 (終端文字を含む) ずつ増加します。

メモ

127 文字数を超える ASCII 値を使用することはできません。この関数は、バイナリ文字数 127 に制限されています。

fgets を使用して読み取り操作を完了するための規則

fgets を使用した読み取り操作では、以下の状態になるまで、MATLAB® コマンド ラインへのアクセスができなくなります。

  • Terminator プロパティにより指定された終端文字に到達

  • Timeout プロパティで指定した時間が経過する

  • 入力バッファーが満杯になる

バージョン履歴

R2006a より前に導入

すべて折りたたむ

R2021a: serial オブジェクト インターフェイスは削除予定

この関数の serial オブジェクトでの使用は削除される予定です。シリアル ポート デバイスにアクセスするには、代わりに serialport オブジェクトと、その関数およびプロパティを使用してください。

推奨される機能には追加の性能があり、パフォーマンスも改善されています。推奨される機能の使用の詳細については、serialport インターフェイスへのコードの遷移を参照してください。

参考

関数