STM32
直播中

的乏味而

13年用户 801经验值
私信 关注
[问答]

怎样去调试未定义printf()函数使用的串口呢

怎样去调试未定义printf()函数使用的串口呢?有什么解决办法吗?

回帖(1)

江孟琢

2021-11-30 09:25:46
问题描述:
一般C语言中使用printf()函数时,包含#include "stdio.h"即可使用,但在Keil(HAL库)开发环境中使用不了。
问题分析:
未定义printf()使用的串口
解决方案:
在HAL库stm32xxxx_hal.c函数中,对输出串口进行定义与配置。
示例代码:

extern UART_HandleTypeDef huart2;   


int fputc(int ch, FILE *f)
{
  HAL_UART_Transmit(&huart2, (uint8_t *)&ch, 1, 0xffff);
  return ch;
}



int fgetc(FILE *f)
{
  uint8_t ch = 0;
  HAL_UART_Receive(&huart2, &ch, 1, 0xffff);
  return ch;
}
举报

更多回帖

发帖
×
20
完善资料,
赚取积分