Usart串口实验关于printf函数的小问题

2019-07-20 05:47发布

在原子哥给的Usart例程里面,usart.c文件上方有一小段printf的代码。原子哥只是草草一说它是修改的打印函数将打印函数的出口改到串口上。并没有详细讲解这段函数例程。请各位大牛帮我看看,讲解一下这段代码。


代码如下:

//加入以下代码,支持 printf 函数,而不需要选择 use MicroLIB
#if 1
#pragma import(__use_no_semihosting)
//标准库需要的支持函数
struct __FILE
{
int handle;
};
FILE __stdout;
//定义_sys_exit()以避免使用半主机模式
_sys_exit(int x)
{
x = x;
}
//重定义 fputc 函数
int fputc(int ch, FILE *f)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
USART_SendData(USART1,(uint8_t)ch);
return ch;
}
#endif

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。