static char log_buf[1024];
static char store[20];
int pos = 0;
char *itoa(int num, char *str, int radix) ;
char *itoa(int num, char *str, int radix)
{
char string[] = "0123456789abcdefghijklmnopqrstuvwxyz";
char* ptr = str;
int i = 0;
int j = 0;
int k = 0;
if(num == 0)
{
str[0]='0';
str[1]=0;
return str;
}
while (num)
{
k = num -(num/radix)*radix;
*ptr++ = string[k];
num /= radix;
if (num < radix)
{
*ptr++ = string[num];
*ptr = '\0';
break;
}
}
j = ptr - str - 1;
//exchange number sequence
for (i = 0; i < (ptr - str) / 2; i++)
{
int temp = str[i];
str[i] = str[j];
str[j--] = temp;
}
return str;
}
unsigned long printf(
void *pbUserData, /* User data passed to all porting routines */
const char *aFormat,...) /* aFormat string to printf */
{
char* pArg=NULL;
char c;
pos = 0;
pArg = (char*) &aFormat;;
pArg += sizeof(aFormat);
/// va_list arg;
int done = 0;
char* str = NULL;
int i = 0;
int align_len = 0;
int data_len = 0;
// va_start (arg, aFormat);
while( *aFormat != '\0')
{
if( *aFormat == '%')
{
if( *(aFormat+1) == '0' || *(aFormat+1) == 'f')
{
aFormat ++;
c = *(aFormat+1); //only support one digital length control
if(*(aFormat +2) != 'x')
return -1;
switch (c) {
case '1':
align_len = 1;
break;
case '2':
align_len = 2;
break;
case '3':
align_len = 3;
break;
static char store[20];
int pos = 0;
char *itoa(int num, char *str, int radix) ;
char *itoa(int num, char *str, int radix)
{
char string[] = "0123456789abcdefghijklmnopqrstuvwxyz";
char* ptr = str;
int i = 0;
int j = 0;
int k = 0;
if(num == 0)
{
str[0]='0';
str[1]=0;
return str;
}
while (num)
{
k = num -(num/radix)*radix;
*ptr++ = string[k];
num /= radix;
if (num < radix)
{
*ptr++ = string[num];
*ptr = '\0';
break;
}
}
j = ptr - str - 1;
//exchange number sequence
for (i = 0; i < (ptr - str) / 2; i++)
{
int temp = str[i];
str[i] = str[j];
str[j--] = temp;
}
return str;
}
unsigned long printf(
void *pbUserData, /* User data passed to all porting routines */
const char *aFormat,...) /* aFormat string to printf */
{
char* pArg=NULL;
char c;
pos = 0;
pArg = (char*) &aFormat;;
pArg += sizeof(aFormat);
/// va_list arg;
int done = 0;
char* str = NULL;
int i = 0;
int align_len = 0;
int data_len = 0;
// va_start (arg, aFormat);
while( *aFormat != '\0')
{
if( *aFormat == '%')
{
if( *(aFormat+1) == '0' || *(aFormat+1) == 'f')
{
aFormat ++;
c = *(aFormat+1); //only support one digital length control
if(*(aFormat +2) != 'x')
return -1;
switch (c) {
case '1':
align_len = 1;
break;
case '2':
align_len = 2;
break;
case '3':
align_len = 3;
break;