打印
[其他ST产品]

基于STM32CUBEMX配置printf经验分享

[复制链接]
楼主: 豌豆爹
手机看帖
扫描二维码
随时随地手机跟帖
21
huwr| | 2023-4-22 15:50 | 只看该作者 回帖奖励 |倒序浏览
STM32 上使用 printf 输出函数 如果要实现在串口 或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数。

使用特权

评论回复
22
chuxh| | 2023-4-22 15:51 | 只看该作者
重写putchar函数               

使用特权

评论回复
23
huwr| | 2023-4-22 15:52 | 只看该作者
stm32printf速度慢好多呢

使用特权

评论回复
24
juventus9554| | 2023-4-22 15:54 | 只看该作者
STM32中不能使用printf函数吗

使用特权

评论回复
25
stly| | 2023-4-22 15:56 | 只看该作者
工程属性中的Target项中的Code Generation 选择 UseMicroLIB。 即可使用printf进行串口输出。库函数版本的:如果使用的是MDK,请在工程属性的“Target“-》”CodeGeneration“中勾选”Use MicroLIB“ 进行如上设置后编译一下

使用特权

评论回复
26
stly| | 2023-4-22 15:57 | 只看该作者
还以为是cubemx自动重定向。

使用特权

评论回复
27
juventus9554| | 2023-4-22 15:58 | 只看该作者
使用printf打印时:得重新配置的一下程序

使用特权

评论回复
28
llljh| | 2023-4-22 15:59 | 只看该作者
在工程中添加printf函数的库文件,并在程序中调用printf函数即可。

使用特权

评论回复
29
dingy| | 2023-4-22 16:00 | 只看该作者
stm32printf函数怎么实现的

使用特权

评论回复
30
huwr| | 2023-4-22 16:02 | 只看该作者
1、 添加printf的头文件 #include <stdio.h> 2、重写int fputc(int ch, FILE *f)函数

使用特权

评论回复
31
langgq| | 2023-4-22 16:03 | 只看该作者
在使用STM32CUBEMX进行代码生成时,可以通过配置串口来实现printf输出功能。

使用特权

评论回复
32
yufe| | 2023-4-22 16:06 | 只看该作者
如果使用的是SWO输出,则需要在调试器中开启SWO功能,并在程序中使能SWO输出。

使用特权

评论回复
33
huwr| | 2023-4-22 16:09 | 只看该作者
重写putchar就可以使用

使用特权

评论回复
34
songqian17| | 2023-4-22 16:11 | 只看该作者
选UseMicroLIB库就能用了

使用特权

评论回复
35
lzbf| | 2023-4-23 10:37 | 只看该作者
printf 实际上是连续调用 fputc 来输出每一个字符的

使用特权

评论回复
36
alvpeg| | 2023-4-23 11:43 | 只看该作者
printf实质是int fputc(int ch, FILE* f)函数

使用特权

评论回复
37
belindagraham| | 2023-4-23 11:53 | 只看该作者
在main文件中重定义函数如下:
// 发送数据
int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (unsigned char) ch);// USART1 可以换成 USART2 等
while (!(USART1->SR & USART_FLAG_TXE));
return (ch);
}

使用特权

评论回复
38
zhenykun| | 2023-6-7 23:33 | 只看该作者
STM32使用printf重定向

使用特权

评论回复
39
chenho| | 2023-6-7 23:35 | 只看该作者
重定向printf                 

使用特权

评论回复
40
songqian17| | 2023-6-7 23:36 | 只看该作者
STM32 上使用 printf 输出函数 如果要实现在串口 或者LCD上显示,必须重定义标准库函数里调用的与输出设备相关的函数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则