已解决。没有重定向。自己用vsnprinntf()函数写了一个简单的print()函数。但是打印十进制数时,只能打印5位数。代码如下:
void print(char *fmt,...)
{
unsigned char buf[256];
unsigned char *ptr = buf;
va_list ap;
va_start(ap, fmt);
vsnprintf((char *)buf, sizeof(buf), fmt, ap);
va_end(ap);
while(*ptr != 0)
{
printch(*ptr++);
while(STIF0 == 0);
}
}
还请大神指导一下,为什么最多打印5位。单片机是16位的R5F100LG
已解决。没有重定向。自己用vsnprinntf()函数写了一个简单的print()函数。但是打印十进制数时,只能打印5位数。代码如下:
void print(char *fmt,...)
{
unsigned char buf[256];
unsigned char *ptr = buf;
va_list ap;
va_start(ap, fmt);
vsnprintf((char *)buf, sizeof(buf), fmt, ap);
va_end(ap);
while(*ptr != 0)
{
printch(*ptr++);
while(STIF0 == 0);
}
}
还请大神指导一下,为什么最多打印5位。单片机是16位的R5F100LG
举报