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
プロパティで指定した時間が経過する入力バッファーが満杯になる