[其他ST产品] 基于STM32CUBEMX配置printf经验分享

[复制链接]
xxmmi 发表于 2023-6-7 23:58 | 显示全部楼层
如果使用的是SWO输出,则需要在调试器中开启SWO功能,并在程序中使能SWO输出。
理想阳 发表于 2023-6-8 13:38 | 显示全部楼层
当使用printf打印时:必须重新配置程序
morrisk 发表于 2023-6-8 18:39 | 显示全部楼层
重写putchar就可以使用
yufe 发表于 2023-6-8 18:41 | 显示全部楼层
选UseMicroLIB库就能用了
zhenykun 发表于 2023-6-8 18:43 | 显示全部楼层
STM32使用printf重定向
zhuhuis 发表于 2023-6-8 18:50 | 显示全部楼层
工程属性中的Target项中的Code Generation 选择 UseMicroLIB。 即可使用printf进行串口输出。库函数版本的:如果使用的是MDK,请在工程属性的“Target“-》”CodeGeneration“中勾选”Use MicroLIB“ 进行如上设置后编译一下
tian111 发表于 2023-6-8 18:53 | 显示全部楼层
还以为是cubemx自动重定向。
wangzsa 发表于 2023-6-8 18:55 | 显示全部楼层
在工程中添加printf函数的库文件,并在程序中调用printf函数即可。
renyaq 发表于 2023-6-8 19:00 | 显示全部楼层
在使用STM32CUBEMX进行代码生成时,可以通过配置串口来实现printf输出功能。
supernan 发表于 2023-6-8 19:01 | 显示全部楼层
如果使用的是SWO输出,则需要在调试器中开启SWO功能,并在程序中使能SWO输出。
xxrs 发表于 2023-6-8 19:02 | 显示全部楼层
重写putchar就可以使用
xxrs 发表于 2023-6-8 19:03 | 显示全部楼层
选UseMicroLIB库就能用了
dengdc 发表于 2023-6-8 19:05 | 显示全部楼层
printf 实际上是连续调用 fputc 来输出每一个字符的
heweibig 发表于 2023-6-8 19:06 | 显示全部楼层
printf实质是int fputc(int ch, FILE* f)函数
yufe 发表于 2023-6-8 19:08 | 显示全部楼层
在main文件中重定义函数如下:
// 发送数据
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (unsigned char) ch);// USART1 可以换成 USART2 等
while (!(USART1->SR & USART_FLAG_TXE));
return (ch);
}
lium 发表于 2023-6-8 19:10 | 显示全部楼层
STM32使用printf重定向
鹿鼎计 发表于 2023-6-9 17:13 | 显示全部楼层
stm32printf函数如何实现的
Undshing 发表于 2023-6-9 22:59 | 显示全部楼层
要重定向printf到串口
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部