stm8调用vsprintf输出问题

2019-07-19 22:02发布

#include <stdarg.h>
#include  <stdio.h>

 void UART2_SendData8(uint8_t Data)
{
    /* Transmit Data */
    UART2->DR = Data;
}

void Uart_SendString(char *pt)
{
    while(*pt)
        UART2_SendData8(*pt++);
}
void Uart_Printf(char *fmt,...)
{
 va_list ap;
 //char string[256];
        char string[256];
 va_start(ap,fmt);
 vsprintf(string,fmt,ap);
        Uart_SendString(string);
 va_end(ap);
}

这段函数调用Uart_Printf("输出十六进制测试%x ",0xfa);

结果是乱码 输出字数也不对
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
正点原子
1楼-- · 2019-07-19 22:12
 精彩回答 2  元偷偷看……
ST-FAE-SALE
2楼-- · 2019-07-20 02:35
 精彩回答 2  元偷偷看……
charlieholy
3楼-- · 2019-07-20 06:33
回复【2楼】正点原子:
---------------------------------
这个是arm9的代码 可能是移植到stm8会太浪费 谢谢原子哥
charlieholy
4楼-- · 2019-07-20 07:19
 精彩回答 2  元偷偷看……

一周热门 更多>