Main Content

fprintf (serial)

(削除予定) テキストをデバイスに書き込む

このオブジェクト関数 serial は将来のリリースで削除される予定です。代わりにオブジェクト関数 serialport を使用してください。コードの更新の詳細については、互換性についての考慮事項を参照してください。

構文

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 です。

入力引数

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 より前に導入

すべて折りたたむ

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

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

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

参考

関数