fread (serial)
(削除予定) デバイスからバイナリ データを読み取る
このオブジェクト関数 serial
は将来のリリースで削除される予定です。代わりにオブジェクト関数 serialport
を使用してください。コードの更新の詳細については、互換性についての考慮事項を参照してください。
構文
A = fread(obj)
A = fread(obj,size
,'precision
')
[A,count] = fread(...)
[A,count,msg] = fread(...)
説明
A = fread(obj)
および A = fread(obj,size)
は、シリアル ポート オブジェクト obj
に接続しているデバイスからバイナリ データを読み取り、データを A
に返します。読み取る値の最大数は、size
で設定します。size
が指定されていない場合、読み取る値の最大数はオブジェクトの InputBufferSize
プロパティで定義されます。size
に指定できる有効なオプションは以下のとおりです。
| 列ベクトルに最大 |
| 列順で m 行 n 列の行列を最大 m 行 n 列読み込みます。 |
size
に inf
を設定することはできません。指定した個数の値が入力バッファーに保存できない場合はエラーが発生します。size は InputBufferSize
プロパティを使用して入力バッファーのバイト数でも指定できます。バイトで定義された値は、precision
と乗算されます (以下を参照してください)。
A = fread(obj,
は、size
,'precision
')precision
で指定された精度により、バイナリ データを読み取ります。
precision
は、各値の読み込みビット数を制御し、これらのバイト数を整数、浮動小数点数、文字値として解釈します。precision
が指定されていない場合、uchar
(符号なし 8 ビット文字) が使用されます。既定の設定では、数値は倍精度配列で返されます。precision
でサポートされている値は、下記のヒントに一覧表示されています。
[A,count] = fread(...)
は、読み取った値の数を count
に返します。
[A,count,msg] = fread(...)
は、読み取り操作が失敗した場合、警告メッセージを msg
に返します。
ヒント
デバイスからデータを読み取るには、関数 fopen
を使用して obj
に接続されていなければなりません。接続されたシリアル ポート オブジェクトでは、Status
プロパティの値が open
になります。obj
がデバイスに接続されていない間に、読み込み演算を行うと、エラーが返されます。
msg
が出力引数として含まれていない場合に読み取り操作が正常に実行できなかった場合は、コマンド ラインに警告メッセージが返されます。
ValuesReceived
プロパティ値は、fread
が実行される度に、読み取った値の数ずつ増加します。
バイナリ読み取り操作を完了する際の規則
fread
を使用した読み取り操作では、以下の状態になるまで、MATLAB® コマンド ラインへのアクセスができなくなります。
指定した個数の値が読み込まれた場合
Timeout
プロパティで指定した時間が経過するメモ
Terminator
プロパティは、バイナリ読み取り操作では使用されません。
サポートされる精度
precision
でサポートされている値を以下に示します。
データ型 | 精度 | 解釈 |
---|---|---|
文字 |
| 8 ビット符号なし文字 |
| 8 ビット符号付き文字 | |
| 8 ビット符号付きまたは符号なし文字 | |
整数 |
| 8 ビット整数 |
| 16 ビット整数 | |
| 32 ビット整数 | |
| 8 ビット符号なし整数 | |
| 16 ビット符号なし整数 | |
| 32 ビット符号なし整数 | |
| 16 ビット整数 | |
| 32 ビット整数 | |
| 32 または 64 ビット整数 | |
| 16 ビット符号なし整数 | |
| 32 ビット符号なし整数 | |
| 32 または 64 ビット符号なし整数 | |
浮動小数点 |
| 32 ビット浮動小数点 |
| 32 ビット浮動小数点 | |
| 32 ビット浮動小数点 | |
| 64 ビット浮動小数点 | |
| 64 ビット浮動小数点 |