MATLAB Function Reference    
fwrite (serial)

バイナリデータをデバイスに書き込みます。

表示

引数

obj
シリアルポートオブジェクト
A
デバイスに書き込まれたバイナリデータ
'precision'
各値に対して、書き込むビット数、そして、ビットは、キャラクタ、整数、浮動小数点値も解釈します。
'mode'
データが同期、または、非同期で書き込まれているかを設定

詳細

fwrite(obj,A) は、バイナリデータ Aobj に接続したデバイスに書き込みます。

fwrite(obj,A,'precision') は、precision で指定した精度でバイナリデータを書き込みます。

precision は、各値に対して、書き込むバイト数をコントロールし、それらのバイトが、整数、浮動小数点、キャラクタ値のいずれかとして解釈します。precision が設定されていない場合、uchar(8-ビット符号なしキャラクタ) が使われます。precision に対してサポートされている値は、注意 にリストされています。

fwrite(obj,A,'mode') は、mode で指定したコマンドラインアクセスを使って、バイナリデータを書き込みます。mode が、sync の場合、 A は、コマンドラインと同期を取って書き込まれ、コマンドラインは停止しています。mode が、async の場合、A は、コマンドラインと非同期で、コマンドラインも停止しません。mode が設定されていない場合、書き込み操作は、コマンドラインと同期を取ります。

fwrite(obj,A,'precision','mode') は、precision で設定される精度とmodeで設定されたコマンドラインアクセスを使ってバイナリデータを書き込みます。

注意

データをデバイスに接続する前に、関数 fopen を使って、obj に接続する必要があります。接続しているシリアルポートオブジェクトは、openStatus 値としています。obj がデバイスに接続されていない場合に、書き込み操作を行おうとすると、エラーが生じます。

ValuesSent プロパティ値は、fwrite が起動される度に、書き込まれる値の数だけ増加します。

出力バッファが、書き込む必要のあるすべてのデータを保持できない場合、エラーが生じます。OutputBufferSize プロパティを使って、出力バッファのサイズを設定することができます。

fwrite に対するヘルプを表示するために、help コマンドを使用する場合、つぎのパス名を用意する必要があります。

同期と非同期の書き込み演算

デフォルトでは、データはコマンドラインと同期を取ってデバイスに書き込まれ、操作が完了するまで、コマンドラインは停止しています。入力引数 modeasync とすることで、非同期の書き込みにすることができます。

非同期書き込み操作が、TransferStatus プロパティと共に進行するか否かを決定します。

同期や非同期書き込み操作については、Writing Data の中に詳細を示しています。

fwrite を使って、書き込み操作を完了するためのルール

つぎの場合に、fwriteを使ったバイナリ書き込み操作が完了します。

サポートしている精度

precision に対して、サポートしている値は、つぎのものです。

データタイプ
精度
解釈
Character
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- or 64-バイト符号なし整数
浮動小数点
single
32-バイト浮動小数点t
float32
32-バイト浮動小数点
float
32-バイト浮動小数点t
double
64-バイト浮動小数点
float64
64-バイト浮動小数点

参考

関数

fopen, fprintf

プロパティ

BytesToOutput, OutputBufferSize, OutputEmptyAction, Status, Timeout, TransferStatus, ValuesSent


 fwrite fzero