| MATLAB Function Reference | ![]() |
表示
fwrite(obj,A) fwrite(obj,A,'precision') fwrite(obj,A,'mode') fwrite(obj,A,'precision','mode')
引数
obj |
シリアルポートオブジェクト |
A |
デバイスに書き込まれたバイナリデータ |
'precision' |
各値に対して、書き込むビット数、そして、ビットは、キャラクタ、整数、浮動小数点値も解釈します。 |
'mode' |
データが同期、または、非同期で書き込まれているかを設定 |
詳細
fwrite(obj,A)
は、バイナリデータ A を obj に接続したデバイスに書き込みます。
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 に接続する必要があります。接続しているシリアルポートオブジェクトは、open を Status 値としています。obj がデバイスに接続されていない場合に、書き込み操作を行おうとすると、エラーが生じます。
ValuesSent プロパティ値は、fwrite が起動される度に、書き込まれる値の数だけ増加します。
出力バッファが、書き込む必要のあるすべてのデータを保持できない場合、エラーが生じます。OutputBufferSize プロパティを使って、出力バッファのサイズを設定することができます。
fwrite に対するヘルプを表示するために、help コマンドを使用する場合、つぎのパス名を用意する必要があります。
help serial/fwrite
同期と非同期の書き込み演算
デフォルトでは、データはコマンドラインと同期を取ってデバイスに書き込まれ、操作が完了するまで、コマンドラインは停止しています。入力引数 mode を async とすることで、非同期の書き込みにすることができます。
BytesToOutput プロパティ値は、出力バッファ内のバイト数を反映して、連続的に更新されます。OutputEmptyAction プロパティに対して設定された M-ファイル挙動関数は、出力バッファが空になるとき、実行されます。非同期書き込み操作が、TransferStatus プロパティと共に進行するか否かを決定します。
同期や非同期書き込み操作については、Writing Data の中に詳細を示しています。
fwrite を使って、書き込み操作を完了するためのルール
つぎの場合に、fwriteを使ったバイナリ書き込み操作が完了します。
Timeout プロパティで指定した時間が経過する。注意
Terminator プロパティは、バイナリ書き込み操作では使いません。
|
サポートしている精度
precision に対して、サポートしている値は、つぎのものです。
関数
プロパティ
BytesToOutput, OutputBufferSize, OutputEmptyAction, Status, Timeout, TransferStatus, ValuesSent
| fwrite | fzero | ![]() |