我现在已经用VS2017写STM32的程序有一段时间了,在这段时间里,遇到了不少问题,今天就和大家分享一下有关于printf的故事....
之前用MDK开发STM32的时候用 正点原子教给大家的printf,很好用,但是在VS上,一直打印不出来东西,于是,我打算重新写printf
之前用MDK开发STM32的时候用 正点原子教给大家的printf,很好用,但是在VS上,一直打印不出来东西,于是,我打算重新写printf
废话不多说,直接上代码
void myPrintf(char* fomat, ...)
{
char buf[1000] = "";
char* p;
u16 i = 0;
int num;
float fnum;
char* str;
char tem[100] = "";
va_list va;
va_start(va, fomat);
p = fomat;
while (*p)
{
if (*p == '%')
{
switch (*(++p))
{
case 'd':
num = va_arg(va, int);
itoa(num, tem, 10);
strcpy(buf + i, tem);
i += strlen(tem) - 1;
break;
case 's':
str = va_arg(va, char*);
strcpy(buf + i, str);
i += strlen(str) - 1;
break;
case 'f':
fnum = va_arg(va, double);