这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【STM32F769】vscode+cmake工程中增加对printf打印浮点数

共1条 1/1 1 跳转至

【STM32F769】vscode+cmake工程中增加对printf打印浮点数的支持

工程师
2025-03-14 20:38:54     打赏

【前言】

在工程调试中,printf是非常重要的输出,在是在stm32cubeMX生成的cmake工程中,他的cmake没有添加对printf float的支持。经查找资料后,找到了解决方法,现在记录如下:

【现象】

我输入测试 printf("float value:%f\n",3.14159); 串口输出中的值为空白的。

image.png

【解决办法】

1、找到gcc-arm-none-eabi.cmake这个文件,添加-u _printf_float的选项:

image.png

2、确认重定向函代码如下:

/* USER CODE BEGIN 1 */
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
  // 阻塞方式打印 -> 串口1
  HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
  return ch;
}
/* USER CODE END 1 */

3、重新编译后就可以实现打印float数了。

image.png

虽然解决了,但是重新用cubeMX生成后,又得重新添加。




关键词: STM32F769     vscode+cmake     pr    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]