在stm32单片机编程中,能够重定向printf()函数来输出调试信息。
- 编写fputc()函数
- 其实printf()函数在头文件中被界说成了一个宏,会调用到fputc()函数,但在stm32单片机编程中不能够直接调用规范库的fputc()函数进行输出信息,需求自己编写fputc()函数供printf()函数来调用。编译器进行编译时首要会调用自己编写的fputc()函数,而不是库函数。
int
{
USART_SendData(USART1, (uint16_t)ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC) !=SET);
return ch;
}
此刻假定串口1即USART1能够正常通讯,fputc()函数的效果便是把printf()函数重定向到串口1上输出信息。
- 装备
- 自己着手写好fputc()后,要在文件中包括stdio.h文件。#include
在MDK软件界面单击Target options…按钮,在Code Genetation一栏中挑选 Use MicroLIB选项,即完成了装备,此刻printf()函数必定重定向到了串口1即USART1上,能够正常运用printf()函数。