展讯平台调试之文件输出LOG

在很多情况下,即便是在开机状态下也不方便用USBlog,比如说有些在开机启动过程中出现的一些状况,又比

如说我现在做的这个电源管理,如果插上USB就会充电导致无法抓得插上充电器瞬间的流程!那么这种情况下该怎么办

呢?用文件输出log吧!


static char g_szbuf_cg_log[1024];
#define cg_diag_trace(lpstr, ...) { \
    sprintf(g_szbuf_cg_log, lpstr, __VA_ARGS__); \
    lin2_write_log_file(g_szbuf_cg_log, strlen(lpstr), 0);   \
    }


static void lin2_write_log_file(char * pbuf, int ilen, int isnewfile)
{
int iret = 0;
SFS_HANDLE handle = NULL;
int iWrite = 0;
static char szlogname[256] = {0};
static char szwlogname[256] = {0};
SCI_TIME_T timetmp = {0};

TM_GetSysTime(&timetmp);


if ((0 == szlogname[0]) || isnewfile)
{
sprintf(szlogname, "d:\\Lin_%d_%d_%d.txt", timetmp.hour, timetmp.min, timetmp.sec);
MMIAPICOM_StrToWstr(szlogname, szwlogname);
}

handle = SFS_CreateFile(szwlogname, SFS_MODE_WRITE|SFS_MODE_APPEND, NULL, NULL);
if (handle)
{
SFS_WriteFile(handle, pbuf, ilen,&iWrite,0);
SFS_CloseFile(handle);
handle = NULL;
}


return;
}


那么这样,直接调用cg_diag_trace这个宏就可以打印出来你想要的东西了!

你可能感兴趣的:(File,null,平台)