【STM32H7S78-DK】测评+STM32CubeIDE串口printf
[复制链接]
本帖最后由 dql2016 于 2024-9-18 22:39 编辑
串口printf格式化输出是最常用的调试方法之一,可以十分方便的将数据按照格式打印出来,比如用于串口示波器显示波形数据十分方便。
根据原理图,串口4 PD0、PD1连接到了板载STLINK的虚拟串口,使用STM32CubeIDE的配置方法如下,首先开启串口4,参数默认即可,注意的是需要确定管脚是PD0和PD1:
生成代码工程,点击project->C/C++ Build->Settings,开启支持浮点输入输出,默认是不开启的,开启后会多占用一点RAM资源:
在main.c里面加入代码,引用头文件#include "stdio.h",防止编译报错FILE未定义,加入printf重定向到串口输出代码:
#ifdef __GNUC__
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart4 , (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
主循环加入测试代码:
printf("float=%.2f\r\n",1.2f);
效果:
|