打印
[STM32F1]

STM32CUBEIDE使用printf打印无输出问题

[复制链接]
292|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2023-3-29 21:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
今天遇到使用printf打印无输出问题,查了一下资料解决了,下面把相关解决方法放在下面:

由于CubeIDE没有Keil的Use MicroLIB选项,而且CubeIDE默认采用的是GNUC编译,所以putchar的接口有所不同



1 #include <stdio.h>

2 #ifdef __GNUC__

3 #define PUTCHAR_REDEFINE int __io_putchar(int ch)

4 #else

5 #define PUTCHAR_REDEINFE int fputc(int ch, FILE *f)

6 #endif

7 PUTCHAR_REDEFINE

8 {

9     HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);

10     return ch;

11 }


然后需要将项目设置中的这两个选项打开




配合以上代码重定义即可解决问题.


使用特权

评论回复
沙发
香水城| | 2023-3-30 08:34 | 只看该作者
Cubeide用户手册有相关介绍!

谢谢分享!

使用特权

评论回复
板凳
万图| | 2024-1-27 13:28 | 只看该作者

在信号线中串联小电阻其主要目的是对引脚的保护

使用特权

评论回复
地板
万图| | 2024-1-27 13:28 | 只看该作者

在信号线中串联小电阻其主要目的是对引脚的保护

使用特权

评论回复
5
Uriah| | 2024-1-27 14:31 | 只看该作者

根据电荷守恒:Qinitial=Qfinal

使用特权

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

本版积分规则

271

主题

2300

帖子

4

粉丝