Main Content

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 に指定できる有効なオプションは以下のとおりです。

n

列ベクトルに最大 n 個の値を読み込みます。

[m,n]

列順で m 行 n 列の行列を最大 m 行 n 列読み込みます。

sizeinf を設定することはできません。指定した個数の値が入力バッファーに保存できない場合はエラーが発生します。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 でサポートされている値を以下に示します。

データ型

精度

解釈

文字

uchar

8 ビット符号なし文字

schar

8 ビット符号付き文字

char

8 ビット符号付きまたは符号なし文字

整数

int8

8 ビット整数

int16

16 ビット整数

int32

32 ビット整数

uint8

8 ビット符号なし整数

uint16

16 ビット符号なし整数

uint32

32 ビット符号なし整数

short

16 ビット整数

int

32 ビット整数

long

32 または 64 ビット整数

ushort

16 ビット符号なし整数

uint

32 ビット符号なし整数

ulong

32 または 64 ビット符号なし整数

浮動小数点

single

32 ビット浮動小数点

float32

32 ビット浮動小数点

float

32 ビット浮動小数点

double

64 ビット浮動小数点

float64

64 ビット浮動小数点

バージョン履歴

R2006a より前に導入

すべて折りたたむ

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

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

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

参考

関数