#概述
在keil MDK环境下重定向printf与keil C51不同,由于本人使用了STM32CubeMX生成工程模板,HAL_USART_Transmit
函数即是模板里串口输出的函数。由于printf最终是调用fputc
输出数据,fputc
是一个弱引用(weak)函数,覆写即可重定向printf
。
#代码清单
extern USART_HandleTypeDef husart1;
int fputc(int ch, FILE *f) {
HAL_USART_Transmit(&husart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
#STM32CubeMX
STM32CubeMX可以到st官网下载,官网下载链接:http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html
拉到最底
—