# OS_Printf

## Syntax

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

## Arguments

fmt | Output format string.
... | Variable number of arguments

## Return Values

None.

## Description

Outputs a string. A variable number of arguments can be given in accordance to the format string (output format string).

> Example:
> OS_Printf( "variable test = %d\n", test );

This function is compiled with weak symbols. Therefore, you can overwrite them with your own function definitions.

This function is used for debugging. It will not be included in the final ROM version (`FINALROM`).

## Note

The `OS_Printf` function consumes a lot of stack space. The IRQ stack used during interrupt and callback execution is not that big. Therefore, whenever possible use the `OS_TPrintf` function, which is the lighter version, in deeply nested function calls within IRQ interrupts. When debug output freezes, you may be able to use the `OS_TPrintf` function instead to prevent this from occurring.

However, floating-point output is not supported by `OS_TPrintf`.

## See Also

`OS_PutString
`

## Revision History

2004/11/25 Added description of weak symbols.
2003/12/01 Initial version.

CONFIDENTIAL