printf串口重定向
1.cubemx设置
打开cubemx,选择要打开的串口,这里以串口1为例
剩下的RCC配置等就不做赘述了,波特率这些默认就好
2.程序内容
接下来就是生成代码,找到串口对应的.c文件(usart.c),在最下面写入这串代码,同时还要包含一下stdio.h这个头文件。 ps:main.c里也需要包含一下这个头文件,别问问就是我特么也不清楚,先学会用再说吧0.0
重定向的程序:
int fputc(int ch,FILE *f)
{
HAL_UART_Transmit(&huart1,(uint8_t *)&ch,1,HAL_MAX_DELAY);
return ch;
}
3.开搞
搞定以后我们回到主函数里,写个简单的测试
然后打开上位机,根据cubemx里的设置(波特率、数据位、校验位、停止位),猛猛一顿操作然后就可以看到打印的内容了
看一百遍不如自己动手试试啊魂淡,实操才是第一要义!!
忘了还有个微库,记得勾上它