美文网首页
stm32 串口格式化打印字符串 函数封装

stm32 串口格式化打印字符串 函数封装

作者: EndlessCodeBug | 来源:发表于2019-07-16 16:47 被阅读0次

    #include <iostream>

    #include <windows.h>

    //**********************************************

    #include <stdarg.h>

    #include <stdio.h>

    int uart_printf(void* UartHandle,char* buf,size_t bufLen, const char *fmt, ...)

    {

        va_list arg;

        int cnt;

    #if 1

        va_start(arg, fmt);

        cnt = vsnprintf(buf, bufLen, fmt, arg);

    //生成的字符串的长度至多为n-1,为额外的终止空字符留下空间。

        va_end(arg);

    #else

        va_start(arg, fmt);

        cnt = vsprintf(buf, fmt, arg);

        va_end(arg);

    #endif

        printf("%s", buf);  //UART0_SendBuf(buffer);

        return cnt;

    }

    //**********************************************

    int main()

    {

        std::cout << "Hello World!\n"; 

    #define BUF_LEN   3

        char Buf[BUF_LEN] = { 0 };

        int Res = 0;

        Res=uart_printf(NULL,Buf, BUF_LEN, "A=%d\r\n", 1);

        std::cout <<'['<< Buf <<']'<< std::endl;

        printf("[%s]Res==%d\r\n\r\n", Buf,Res);

        printf("\r\n\r\n");

        system("pause");

    }

    ---------------------

    相关文章

      网友评论

          本文标题:stm32 串口格式化打印字符串 函数封装

          本文链接:https://www.haomeiwen.com/subject/gcvtlctx.html