/**************************************************************** Copyright(C), 1999-2004 Raisecom, Inc. filename: trace.c,trace函数,可以向串口输出信息 Author : qiaoqiangguo version : 1.0 date : 2008/6/21 Others : THIS DOCUMENT IS GENERATED BY TORNADO TOOLS refgen.exe EXAMPLE: ->torVars.bat ->refgen -mg -out doc trace.c ->cd doc ->htmllink *****************************************************************/ #include "includes.h" #include "strfunc.h" #include "trace.h" #include "console.h" /*trace使用的发送函数*/ trace_msg_send g_msg_msg_send = NULL; /*定义临时使用的字符数组*/ u8 g_trace_buf[TRACE_BUF_LEN_MAX]; /* 格式输出到trace的目的地 输入参数: fmt, 输出格式,printf相同的格式约定 ..., 可选参数,printf相同的格式约定 返回值: 格式化后的字符串长度,与printf的返回值的约定相同 */ u32 trace_otp_trace(const char * fmt, ...) { u32 len = 0; va_list vaList; va_start (vaList, fmt); /*lint -save -e530*/ len = otp_vsnprintf((char *)g_trace_buf, TRACE_BUF_LEN_MAX, fmt, vaList); /*lint -restore*/ if(g_msg_msg_send) { if(g_msg_msg_send(Console_UID, (char *)g_trace_buf, len) != 0) { va_end (vaList); return 0; } } va_end (vaList); return len; } /* 格式输出到trace的目的地 输入参数: fmt, 输出格式,printf相同的格式约定 ..., 可选参数,printf相同的格式约定 返回值: 格式化后的字符串长度,与printf的返回值的约定相同 */ u32 trace_otp_trace1(trace_msg_send msg_send_cb, u8 uartid, const char * fmt, ...) { u32 len = 0; va_list vaList; va_start (vaList, fmt); /*lint -save -e530*/ len = otp_vsnprintf((char *)g_trace_buf, TRACE_BUF_LEN_MAX, fmt, vaList); /*lint -restore*/ if(msg_send_cb) { if(msg_send_cb(uartid, (char *)g_trace_buf, len) != 0) { va_end (vaList); return 0; } } va_end (vaList); return len; } /***************************************************************************** *trace_init trace初始化函数 *Input: * None *Output: * None *Return: * 0/-1 */ int trace_init(void) { memset(g_trace_buf, 0, sizeof(g_trace_buf)); return 0; }