ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

fprintf (serial)

テキストをデバイスに書き込む

構文

fprintf(obj,'cmd')
fprintf(obj,'format','cmd')
fprintf(obj,'cmd','mode')
fprintf(obj,'format','cmd','mode')

説明

fprintf(obj,'cmd') は、シリアル ポート オブジェクト obj に接続しているデバイスに string cmd を書き込みます。既定の書式は %s\n です。書き込みは同期の動作であり、実行が完了するまでコマンド ラインをブロックします。cmd には、作成した SCPI コマンド、またはデバイス ベンダーの指示に基づいて作成したコマンドを指定できます。

fprintf(obj,'format','cmd') は、format で指定されている書式を使用して string を書き込みます。

fprintf(obj,'cmd','mode') は、mode で指定されたコマンド ライン アクセスを使用して string を書き込みます。mode は、cmd の書き込みを同期と非同期のいずれで実行するかを指定します。

fprintf(obj,'format','cmd','mode') は、指定された書式を使用して string を書き込みます。format は、C 言語の変換指定です。

読み取り操作または書き込み操作を実行するには、シリアル ポート オブジェクト obj からデバイスへの接続が開いている必要があります。

デバイスへの接続を開くには、関数 fopen を使用します。obj からデバイスへの接続が開いている場合、Status プロパティ値は open です。関数 fprintf のエラーは、一般的なエラーのトラブルシューティングを参照してください。

fprintf の使用方法については、fprintf による書き込み操作の完了および終端子を書き込むための規則を参照してください。

入力引数

format

ANSI C 変換指定には、以下の変換文字が含まれます。

指定子

説明

%c

単一の文字

%d または %i

10 進数表記 (符号付き)

%e

指数表現 (3.1415e+00 のように小文字の e を使う)

%E

指数表現 (3.1415E+00 のように大文字の E を使う)

%f

固定小数点表記

%g

%e または %f をさらにコンパクトに表現。不必要なゼロは、表示しません。

%G

%g と同等。ただし、大文字 E を使用

%o

8 進法表記 (符号なし)

%s

文字列

%u

10 進数表記 (符号なし)

%x

16 進記法 (小文字 af を使用)

%X

16 進記法 (大文字 AF を使用)

cmd

文字列 cmd を指定します。これは作成した SCPI コマンド、またはデバイス ベンダーの指示に基づいて作成したコマンドにすることができます。

mode

文字列 cmd が同期を取りながら書き込まれるか、非同期に書き込まれるかを以下のように指定します。

  • sync: cmd は、同期を取りながら書き込まれ、コマンド ラインはブロックされます。

  • async: cmd は、非同期的に書き込まれ、コマンド ラインはブロックされません。

mode が指定されていない場合、書き込み操作は同期を取りながら行われます。

mode を非同期に指定した場合に書き込み操作を行うと、以下のように動作します。

  • BytesToOutput プロパティ値は、出力バッファー中のバイト数を反映して、連続的に更新されます。

  • OutputEmptyFcn プロパティに対して設定されている MATLAB® ファイルのコールバック関数は出力バッファーが空のときに実行されます。

非同期の書き込み操作が実行中であるかどうかを判断するには、TransferStatus プロパティを使用します。

同期および非同期の書き込み操作の詳細については、データの読み取りと書き込みを参照してください。

シリアル ポート オブジェクト s を作成し、Tektronix TDS 210 オシロスコープに接続します。fprintf を使用して RS232? コマンドを記述します。RS232? は、スコープにシリアル ポートの通信設定を返すように指示します。この例は、Windows® プラットフォーム上で使用できます。

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

終端子を含まないデータの書式を指定するか、終端子を空に設定します。

s = serial('COM1');
fopen(s)
fprintf(s,'%s','RS232?')

fprintf の既定の書式は %s\n です。したがって、Terminator プロパティにより指定された終端子が自動的に書き込まれます。ただし、終端子の書き込みを抑制するのが望ましい場合もあります。

以下のように書式およびコマンドの配列を指定します。

s = serial('COM1');
fopen(s)
fprintf(s,['ch:%d scale:%d'],[1 20e-3],'sync')

R2006a より前に導入