1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<HTML>
3<HEAD>
4<META http-equiv="Content-Type" content="text/html; charset=utf-8">
5<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.1.0 for Windows">
6<META http-equiv="Content-Style-Type" content="text/css">
7<TITLE>OS_Printf</TITLE>
8<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css">
9</HEAD>
10<BODY>
11<H1 align="left">OS_Printf <IMG src="../../image/NTR.gif" align="middle"><IMG src="../../image/TWL.gif" align="middle"></H1>
12<H2>Syntax</H2>
13<DL>
14<DD><CODE>#include &lt;nitro/os.h&gt;</CODE><BR> <BR> <CODE>void OS_Printf( const char *fmt, ... );</CODE>
15</DL>
16<H2>Arguments</H2>
17<TABLE border="1">
18  <TBODY>
19    <TR>
20<TD><B><I>fmt</I></B></TD>
21<TD>Output format string.</TD>
22    </TR>
23    <TR>
24      <TD><B><I>...</I></B></TD>
25<TD>Variable number of arguments.</TD>
26    </TR>
27  </TBODY>
28</TABLE>
29<H2>Return Values</H2>
30<P>None.</P>
31<H2>Description</H2>
32<P>Outputs a string. A variable number of arguments can be given in accordance to the format string (output format string).</P>
33<BLOCKQUOTE style="background-color:#ffffcc">
34<P><B>Example:</B><br /> <CODE>OS_Printf( &quot;variable test = %d\n&quot;, test );</CODE></P>
35</BLOCKQUOTE>
36<P>This function is compiled with weak symbols. Therefore, you can overwrite them with your own function definitions.</P>
37<P>The maximum string length that can be displayed is 255 characters. If a string with 256 or more characters is specified, all characters from the 256th character are ignored.</P>
38<P>This function is used for debugging. It does not generate any output during a <code>FINALROM</code> build or when linked against <CODE>FINALROM</CODE> libraries.</P>
39
40<H2>Note</H2>
41<P>The <FONT color="#000000"><CODE>OS_Printf</CODE> 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 <A href="OS_TPrintf.html"><CODE>OS_TPrintf</CODE></A> function, which is the lighter version, in deeply nested function calls in IRQ interrupts. When debug output freezes, you may be able to use the <A href="OS_TPrintf.html"><CODE>OS_TPrintf</CODE></A> function instead to prevent this from occurring.</FONT></P>
42<P>However, floating-point output is not supported by <A href="OS_TPrintf.html"><CODE>OS_TPrintf</CODE></A>.</P>
43<P>Output for the debugger can be switched between the blocking mode and the non-blocking mode. See <A href="../debug/OS_SetPrintBlockingMode.html"><CODE>OS_SetPrintBlockingMode</CODE></A> for more details.</P>
44<H2>See Also</H2>
45<P><A href="OS_PutString.html"><CODE>OS_PutString</CODE></A><BR> <A href="OS_SetPrintBlockingMode.html"><CODE>OS_SetPrintBlockingMode</CODE></A><BR> <A href="OS_GetPrintBlockingMode.html"><CODE>OS_GetPrintBlockingMode</CODE></A></P>
46<H2>Revision History</H2>
47<P>2009/10/02 Added the maximum displayable string length.<BR>2009/04/03  Added information about proxy mode. Changed reference.<BR> 2004/11/25 Added description for weak symbols.<BR> 2003/12/01 Initial version.</P>
48<hr><p>CONFIDENTIAL</p></body>
49</HTML>