【printf文の拡張】
書式付の出力関数がprintfで、書式をいろいろ指定できるので、出力をするとき
には非常に便利な関数です。
標準的な使い方は入出力のページで説明しているとおりなのですが、CCS社の
コンパイラのprintf関数は、標準Cに対して拡張した関数になっていて、出力する
ためのデバイス関数を指定することが出来るようになっています。
下記のような書式で指定すると拡張printf文となります。
printf ( fname, cstirng, value, value・・・)
cstringで指定したフォーマットでvalueの値をfname関数で出力する
ここでfnameが追加になっているのがCCSコンパイラでの拡張部分で、fnameは
1文字出力するデバイス用関数で、これを指定すればRS232以外のデバイスに
自由に出力できることになります。
cstringは文字列定数で単純にそのまま文字列で出力されますが、%文字だけ
特別扱いになっていて、「%wt」の書式で変数の出力フォーマットを指定することが
出来ます。出力変数が複数ある場合には、%書式の順序に従って変数の並びが
順に出力されることになります。%の書式は通常の標準書式と全く同じ扱いに
なっています。
この拡張した関数の使用例は下記リストのようになります。
ここでは、lcd_dataは液晶表示器に1文字表示出力する関数で、このような使い方
をすれば、文字列やデータを指定フォーマットで液晶表示器に出力することが
簡単に出来るようになります。
この1文字出力関数は、関数としては何でも良くて、とにかく引数で与えられた
1文字を出力する関数であれば自由に指定できます。