STM32F103程序串口调用printf打印数据

来源:互联网 发布:海马苹果助手for mac 编辑:程序博客网 时间:2024/05/19 12:37

程序开发过程中调试必不可少,一种简单直接的调试方式是使用串口发送数据,并使用串口助手进行观测。以前使用MSP430做项目时也同样使用printf打印数据,所以现在想在stm32 上实现。

     通常串口发送单字节库函数:USART_SendData(USART1, (uint8_t) ch);对显示小数等数据比较复杂,如果能够直接使用C语言 stdio.h中的printf直接输出就可以省去大部分格式输出转化时间。下面将介绍如何调用printf打印串口数据。

建立USART.C和USART.H两个文件,分别编写串口设置程序与头文件

USART.C中需要添加如下代码:

int fputc(int ch, FILE *f){ /* e.g.给USART写一个字符 */ USART_SendData(USART1, (uint8_t) ch); /* 循环直到发送完成 */ while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET); return ch;}

对printf进行重定向;

USART.H中需要添加如下代码:

添加stdio.h头文件,其次,声明int fputc(int ch, FILE *f);


最后一步,在设置中勾选Use MicroLIB选项;


完成以上步骤后,便可在程序中直接调用printf打印串口数据。

0 0
原创粉丝点击