概述
在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;
}
1
2
3
4
5
6
7
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
拉到最底
---------------------
作者:阏男秀
来源:CSDN
原文:https://blog.csdn.net/yannanxiu/article/details/52712477
版权声明:本文为博主原创文章,转载请附上博文链接!