单片机如何优雅的使用printf
前言
在设备研发过程中,经常会遇到调试信息输出问题,在查找相关资料后,发现单片机也可以实现优雅的使用printf函数
方法
点击查看代码
//添加代码
#if 1
#pragma import(__use_no_semihosting)
//标准库需要支持函数
struct __FILE
{
int handle;
};
FILE __stdout;
//定义_sys_exit()以避免使用半主机模式
void _sys_exit(int x)
{
x = x;
}
//重定义fput()函数。UART5:根据需求更改串口(USART1-USART3、UART4-UART5)
int fputc(int ch, FILE *f)
{
/*将printf内容发往串口*/
USART_SendData(UART4, (uint8_t)ch);
while(USART_GetFlagStatus(UART4, USART_FLAG_TC) == RESET);
return ch;
}
#endif
备注
添加代码后,还是不能优雅的使用printf
解决方法
勾选micorLib