历史上的今天
今天是:2025年06月10日(星期二)
2018年06月10日 | STM32F103程序串口调用printf打印数据
2018-06-10 来源:eefocus
程序开发过程中调试必不可少,一种简单直接的调试方式是使用串口发送数据,并使用串口助手进行观测。以前使用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打印串口数据。
史海拾趣
|
485总线稳定性解决方法 一、关于485 总线的几个概念: 1、485 总线的通讯距离可以达到1200 米。 根据485 总线结构理论,在理想环境的前提下,485 总线传输距离可以达到1200 米。其条件是通讯线材优质达标,波特率为9600,只负载一台485 设备,才 ...… 查看全部问答> |
|
如何通过Tornado自带的TCL命令实现对当前工程的编译? 问题:如何通过Tornado自带的TCL命令实现对当前工程的编译,不借助Tornado界面中所提供的编译操作,生成.o和.out文件。 实际上Tornado界面功能好像也是通过TCL命令来实现的,关键本人对TCL命令这块不太熟悉,有请大侠们指教。 … 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:20 编辑 求拉杠天线匹配网络,拉杠天线长约一米,直径70mm左右...... … 查看全部问答> |
|
Msp430 LaunchPad 与LCD1602的接口问题 本人是初学者,我最近也得到了msp430 Launchpad 这块板子,请问怎样能实现这块板子与LCD1602的连接啊,我要把AD转换的结果从LCD1602来显示。请高手指点一下。谢谢… 查看全部问答> |




