[STM32F1] STM32CUBEIDE使用printf打印无输出问题

[复制链接]
515|9
 楼主| szt1993 发表于 2023-3-29 21:06 | 显示全部楼层 |阅读模式
今天遇到使用printf打印无输出问题,查了一下资料解决了,下面把相关解决方法放在下面:

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



  1. 1 #include <stdio.h>

  2. 2 #ifdef __GNUC__

  3. 3 #define PUTCHAR_REDEFINE int __io_putchar(int ch)

  4. 4 #else

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

  6. 6 #endif

  7. 7 PUTCHAR_REDEFINE

  8. 8 {

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

  10. 10     return ch;

  11. 11 }


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

1.png


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


香水城 发表于 2023-3-30 08:34 | 显示全部楼层
Cubeide用户手册有相关介绍!

谢谢分享!
万图 发表于 2024-1-27 13:28 | 显示全部楼层

在信号线中串联小电阻其主要目的是对引脚的保护
万图 发表于 2024-1-27 13:28 | 显示全部楼层

在信号线中串联小电阻其主要目的是对引脚的保护
Uriah 发表于 2024-1-27 14:31 | 显示全部楼层

根据电荷守恒:Qinitial=Qfinal
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

3021

帖子

6

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