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学习笔记合集-优快云博客