STM32-printf重定向到USART

来源:互联网 发布:linux tar命令安装 编辑:程序博客网 时间:2024/04/27 16:47

在使用STM32的过程中,尤其是刚开始学习使用的时候,由于不知道自己的程序写的对不对,就经常需要一点验证的方法,点亮一个LED灯就是最简单的验证方法,但是有的时候还经常需要串口的输出来验证自己的程序是否正确,但是官方提供的函数库中用于串口发送的好像就一个USART_SendData(),通过外设USARTx发送单个数据,对于熟悉C语言的同学来说,这个函数还没有格式输出,当想要输出一个数字,或者字符串的时候,使用起来可能有点麻烦,现在有一个很好的方法就可以使用C语言中的printf()函数,而且使用方法是一样的。如何使用,很简单,我们只需要重新定向printf就可以,将它的数据用STM32的串口进行发送出去就可以了。
首先添加printf的头文件 #include

int fputc(int ch, FILE *f){USART_SendData(USART1, (uint8_t) ch);while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);return ch;}

最后别忘了修改一下工程的配置,选中Target——Code Generation——选中Use MicroLIB
这里写图片描述

这样就可以像使用C语言一样样使用printf了。

原创粉丝点击