重写printf和scanf
在调试单片机程序时,使用串口输出信息是很方便的,重写printf
函数后,代码里可以使用这个语句很容易的输出相应信息。
同理,重写scanf
函数可以很容易的收取串口获得的信息。
比较常用的方法在main.c里添加一段fputc
函数,来完成printf
的重写
int fputc(int c, FILE * f)
{
ch=c;
HAL_UART_Transmit(&huart1,&ch,1,1000);//发送串口
return c;
}
scanf
可以添加下面这段
int fgetc(FILE * F)
{
HAL_UART_Receive (&huart1,&ch_r,1,0xffff);//接收
return ch_r;
}
还需要包含头文件<stdio.h>
定义ch和ch_r
uint8_t ch, ch_r
这样就可以在代码里调用printf()
和scanf()
了