开发环境:Windows
软件:
1、STM32CubeMX 6.3.0
2、MDK 5.14
一、CubeMx配置串口
1、基础配置
stm32f103系统基本配置参考上一章节 STM32CubeMX基于HAL库点亮LED灯_黄金梅利号船长的博客-CSDN博客
2、配置串口
点击“GPIO Settings”查看串口的引脚,PA9是发送TX, PA10是接收RX。
点击“GENERATE CODE”生成代码
二、实现printf功能
实现printf功能,有两种方法
1、添加函数实现
#include <stdarg.h>
#include <stdio.h>
#define BUFSIZE 1024
char myprintf_buf[BUFSIZE];
void Debug_printf(const char* fmt, ...)
{
va_list args;
int n;
va_start(args, fmt);
n = vsnprintf(myprintf_buf, BUFSIZE, fmt, args);
va_end(args);
HAL_UART_Transmit(&huart1, (uint8_t *)myprintf_buf, n, 0xFFFF);
}
2、printf重定向
重定向 fputc函数
编译之后下载到板子上,通过USB转TTL串口连接到板子的PA9
打开串口助手,看到如下输出
三、总结
实现串口调试输出,方法有很多种,大家可以尝试其他的方法。