STM32CubeIDE实现printf重定向输出到串口
STM32CubeIDE之printf重定向及串口
一、硬件原理图

二、stm32cubemx配置
1、SYS的Debug

2、USART2的Mode

3、Project Manager的Code Generator


生成代码

三、程序修改
1、main.c文件
①在USER CODE BEGIN Includes下面添加以下代码
#include <stdio.h>
#include <string.h>
uint8_t t=0;
②在USER CODE BEGIN 3下面添加以下代码
HAL_Delay(1000);
printf("%d\r\n",++t);//计时,单位s
2、usart.c文件
在USER CODE BEGIN 0下面添加以下代码
#include "stdio.h"
#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(&huart2, (uint8_t*)&ch,1,HAL_MAX_DELAY);
return ch;
}
然后直接点击Run

对跳出来的信息进行配置

四、实验结果

串口小工具下载
UartAssist串口调试助手 V5.0.3-软件工具-野人家园
http://www.cmsoft.cn/resource/101.html
更进一步:
中文乱码

直接在other中输入GBK

输出浮点数

参考
STM32学习笔记 —— STM32CubeIDE+printf()和scanf()重定向+使能浮点_VinsonTM的博客-CSDN博客#include "stdio.h"#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #define GETCHAR_PROTOTYPE int __io_getchar(FILE *f)#else #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #define GETCHAR_PROTOTYPE int fgetc(FIL
https://blog.csdn.net/wschou/article/details/106594045
STM32CubeIDE之printf重定向及串口(uart)输出浮点型数据的修改_处处恋芳草的博客-CSDN博客STM32CubeIDE之printf重定向及串口(USART)输出浮点型数据的修改STM32CubeIDEVersion: 1.0.2Build: 3566_20190716-0927 (UTC)OS: Windows 10, v.10.0, x86_64 / win32Java version: 1.8.0_202板卡:NUCLEO-F411REprintf重定向首先你得配置好...
https://blog.csdn.net/qq_42980638/article/details/98359026
更多推荐


所有评论(0)