1.STM32CUBE中使用printf
/* USER CODE BEGIN PTD */
// 2023-07-31 使用printf()
#if 1
#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(&huart1, (uint8_t*) &ch, 1, 0xffff);
return ch;
}
#endif
/* USER CODE END PTD */

2.在MDK中使用printf
// 在usat.c中添加
#include "stdio.h"
/* USER CODE BEGIN 1 */
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
int fgetc(FILE * f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1,&ch, 1, 0xffff);
return ch;
}
3.很好的参考博客学习STM32CubeIDE
STM32CubeIDE基础学习-STM32CubeIDE学习笔记合集-优快云博客
3. STM32F407定时器汇总

本文介绍如何在STM32CubeIDE及Keil MDK中配置和使用printf函数进行串口输出。通过详细步骤说明如何实现printf功能,并提供代码示例,帮助开发者快速上手。
1462

被折叠的 条评论
为什么被折叠?



