# OS_Printf

## 構文

  `#include <nitro/os.h>`
  `void OS_Printf( const char *fmt, ... );`

## 引数

fmt | 出力書式文字列(フォーマット文字列)
... | 可変個引数

## 返り値

なし。

## 説明

文字列を表示します。フォーマット文字列 (出力書式文字列) に従い可変個の引数を与えることが可能です。

> (例)
> `OS_Printf( "variable test = %d\n", test );`

この関数は weak シンボルでコンパイルされますので、ユーザが独自で関数を定義すれば、それで上書きされます。

一度に表示できる文字列は 255文字までです。 256文字以上の文字列を指定した場合は 256文字目以降は無視されます。

これはデバッグ用の関数です。最終ROM版(FINALROM)ライブラリでは出力動作を行ないません。

## 注意

`OS_Printf()` は多くのスタックを消費します。割り込み中やコールバック実行中などに使用される IRQ スタックはそれほど大きくありませんので、 IRQ 割り込み中の深いネストの中ではできるだけ軽量版の `OS_TPrintf()` を使用するようにしてください。デバッグ出力をするとフリーズするような場合には、 `OS_TPrintf()` へ置き換えると状況が改善する場合があります。

ただし、`OS_TPrintf()` では浮動小数の出力がサポートされていません。

デバッガでの出力について、ブロッキングモードと非ブロッキングモードを切り替えることができます。詳細は `OS_SetPrintBlockingMode()` を参照してください。

## 参照

`OS_PutString, OS_SetPrintBlockingMode, OS_GetPrintBlockingMode
`

## 履歴

2009/10/02 表示可能な文字列長について追記
2009/04/03 ブロッキングモードについて追加。参照を変更
2004/11/25 weak シンボルの記述を追加
2003/12/01 初版