stm32cubemx 配置串口,重写fputc,在keil使用printf
-
选择stm32的型号
-
以stm32f103c8t6为例创建项目
-
配置debug(调试)接口
-
配置时钟,根据自己需求配置,这里会影响后面的系统频率。低速时钟用不到可以不选
-
配置串口异步通信和nvic
-
串口通信参数和协议配置,其余默认即可,
以同样的方式配置USART2
-
配置系统时钟
-
项目命名,选择开发环境
-
生成代码
-
点击yes 等待进度条走完
-
打开生成的程序
-
找到main.c
重写fputc 使keil能使用printf,这里以UART1为例,确保HAL_UART_Transmit能够正常使用
uint8_t ch[] ="hello world\r\n";
HAL_UART_Transmit(&huart1,ch,sizeof(ch)-1,100)
勾选
重写 fputc
#include "stdio.h"
int fputc(int ch,FILE *f)
{
unsigned char temp = ch;
HAL_UART_Transmit(&huart1,&temp,1,0xffff);
return temp;
}
这里就能正常使用printf了
printf"hello world";