| 外部インタフェース/API | ![]() |
例題: strreadを使ったデータの解釈
この例題は、関数strreadを使ってデバイスから読み込んだデータを書式化する方法を説明します。strreadは、特に1つまたは複数の変数に文字列を構文解析したい場合に役立ちます。ここで、各変数は独自に指定されたフォーマットを持ちます。
機器は、シリアルポートCOM1に接続されたTektronix TDS 210 two-channel oscilloscopeです。
1. シリアルポートオブジェクトを作成します。- シリアルポートCOM1に対応するシリアルポートオブジェクトsを作成します。
s = serial('COM1');
2. デバイスを接続します。 - sをオシロスコープに接続します。ReadAsyncModeプロパティに対するデフォルト値はcontinuousなので、データは機器から利用可能になるとすぐに入力バッファに非同期的に出力されます。
fopen(s)
3. データの書き出しと読み込み - fprintfを使ってRS232?コマンドを機器に書き出し、fscanfを使ってコマンドの結果を読み込みます。RS232?は、RS-232の設定を質問し、ボーレート、ソフトウェアのフローコントロールの設定、ハードウェアのフローコントロールの設定、パリティタイプ、ターミネータを出力します。
fprintf(s,'RS232?') data = fscanf(s) data = 9600;0;0;NONE;LF
関数strreadを使ってデータ変数を構文解釈し、変数dataを5個の新規の変数に書式化します。
[baud,swfc,hwfc,par,term] = strread(data,'%d%d%d%s%s',
'delimiter',';')
baud =
9600
swfc =
0
hwfc =
0
par =
'NONE'
term =
'LF'
4. 切断とクリーンアップ - sが必要なくなったときは、機器から切断し、メモリおよびMATLABワークスペースから削除します。
fclose(s) delete(s) clear s
| 例題: テキストデータの書き出しと読み込み | 例題: バイナリデータの読み込み | ![]() |