函数添加头文件
#include "stdio.h"
添加函数
// 重定向函数1
int fputc(int ch,FILE *f)
{
uint8_t temp[1]={ch};
HAL_UART_Transmit(&UartHandle,temp,1,2); //UartHandle是串口的句柄
}
//重定向函数2
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&UARTHandle, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
在keil中勾选使用C库
之后就可以 使用printf()函数,像C语言一样输出打印信息,支持 %d %x 等一些格式输出。
关于串口打印输出乱码的解决方法
串口打印英文正常,中文乱码,现象如下
这个问题很玄幻,在确定时钟配置和波特率配置没问题的前提下,不妨试试这个方法:
找到含有打印代码的那个文件,用记事本打开,再另存为原名字的文件,但是编码这里选择ANSI
在keil的配置中设置编码为ANSI
这样串口打印就正常了。