STM32单片机编程printf()函数重定向

发布者:Leishan最新更新时间:2015-10-12 来源: eefocus关键字:STM32  单片机  printf()函数 手机看文章 扫描二维码
随时随地手机看文章

在stm32单片机编程中,可以重定向printf()函数来输出调试信息。

  1. 编写fputc()函数
  2. 其实printf()函数在头文件中被定义成了一个宏,会调用到fputc()函数,但在stm32单片机编程中不可以直接调用标准库的fputc()函数进行输出信息,需要自己编写fputc()函数供printf()函数来调用。编译器进行编译时首先会调用自己编写的fputc()函数,而不是库函数。

int  fputc(int ch,  FILE*f)

{

USART_SendData(USART1, (uint16_t)ch);                                           //通过串口输出

while(USART_GetFlagStatus(USART1, USART_FLAG_TC) !=SET);   //等待输出完毕

return ch;

}

此时假定串口1即USART1可以正常通讯,fputc()函数的作用就是把printf()函数重定向到串口1上输出信息。

  1. 配置
  2. 自己动手写好fputc()后,要在文件中包含stdio.h文件。#include  在MDK软件界面单击Target options…按钮,在Code Genetation一栏中选择 Use MicroLIB选项,即完成了配置,此时printf()函数一定重定向到了串口1即USART1上,可以正常使用printf()函数。
关键字:STM32  单片机  printf()函数 引用地址:STM32单片机编程printf()函数重定向

上一篇:stm32的3种下载程序方式
下一篇:STM32学习之--外部中断

推荐阅读最新更新时间:2024-03-16 14:35

MSP430单片机的特点及在接收机中的应用
一、 引言 一款数据广播编码器和微型低功耗调频数据广播接收机,整套系统采用连续相位频移键控(CPFSK)调制方式,副载波频率为72KHz,占用带宽约16Khz,数据传输速率4.8KHZ。采用CPFSK调制方式使接收机易于实现,与QPSK的调制方式相比对相位稳定度要求不高,不易受外界温度噪声的影响,而且在信号解调处理时实现低功耗。硬件结构框图如下: 二、MSP430单片机的特点及在接收机中的应用 MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需
[单片机]
MSP430<font color='red'>单片机</font>的特点及在接收机中的应用
基于ARM单片机的高精度电子秤设计与实现
1、系统框图简介 当秤盘上放入被秤物体后,电阻应变片受重力的影响产生形变,电阻值发生变化。应变片搭建的桥式电路会输出微弱的电压信号,微弱电压信号由HX711内部集成放大器放大后经过内部ADC进行采样转换后送到到MCU,接收到的数据信息经过线性拟合处理后送到LCD液晶显示。系统能完成称重、设置单价计算金额及金额累加、去皮及去皮范围限制等基本功能,还能实现时间、温度、报警、二维码支付等扩展功能。系统总体框图如图1所示。 图1:系统总体框图 2、理论分析与计算 2.1、电桥驱动电路分析 图2:差动全桥测量电路 如图2所示当被测负载作用在弹性臂梁上使其发生弹性形变;通过粘性物质使粘贴在感压装置上的电阻应变片发生形变,从而转化成
[单片机]
基于ARM<font color='red'>单片机</font>的高精度电子秤设计与实现
DIY:以PIC16F877A单片机为核心设计LED手写屏
信号经放大器LM324比较后,送给单片机处理。32×32点阵显示模块、驱动模块由74HC595外设驱动阵列和8位串行输入/输出移位寄存器ULN2803A组成。光笔通过显示屏微亮扫描寻找坐标值,按键和LED指示灯可实现“点亮、划亮、反显、整屏擦除、笔画擦除、连写多字、对象拖移”等书写显示功能。 系统系统总体构成 本系统设计包括三大部分:PIC 16F877A单片机主控器、光笔控制器、点阵显示屏。系统的结构如图1所示。 图1 系统结构图 PIC系列单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。其内部还集成了数据采集和控制系统中常用的模拟部件和其他数字外设及功能部
[电源管理]
DIY:以PIC16F877A<font color='red'>单片机</font>为核心设计LED手写屏
恩智浦推出首款集成CAN-FD的汽车级蓝牙5-Ready无线微控制器
恩智浦半导体公司(纳斯达克代码:NXPI)今天宣布推出Kinetis KW35/36 MCU系列,这是业界首个集成CAN-FD连接功能的汽车级蓝牙5-ready无线MCU系列。其AEC Q100-Grade 2温度范围配合最新的蓝牙技术,使得这个全新MCU系列能够在汽车应用中提供卓越的耐用性和性能。 Kinetis KW35/36蓝牙技术旨在简化汽车中的蓝牙连接功能集成,使汽车制造商能够为消费者提供更多的便利,通过智能手机来控制许多功能,例如解锁汽车、与朋友或家人远程共享钥匙、个性化调整座椅位置以及温度和信息娱乐设置、控制车辆内外照明等。作为汽车和安全解决方案的市场领导者,全新Kinetis KW35/36无线MCU系列为公司
[汽车电子]
STM32的启动堆栈初始化
有几个问题,众多博文中抄来抄去,内容一样,却没有解释清楚 上电初始化堆栈,在进入_main后又说初始化堆栈,有什么不同 堆栈的地址是怎么得出来的 关于这两个问题,先借用一下要标准的启动流程 一般而言,系统上电后第一个执行的是由汇编所编写的启动文件,其主要工作为一下五部分: (1)、初始化堆栈指针SP=_initial_sp (2)、初始化PC指针,令其=Reset_Handler (3)、初始化中断向量表 (4)、配置系统时钟 (5)、调用C库函数_main初始化用户堆栈,从而最终调用main函数进入C的世界 STM32的中断向量表规定每一行必须是SP地址,第二行是复位中断入口地址,上电后,C
[单片机]
【视频】单片机是什么?
"单片机是什么"视频适合单片机初学者,将针对一些基本概念进行讲解: -中央处理单元(简称CPU) -系统时钟 -存储器 -外设 我们还将带您认识一些日常生活中利用单片机的常见产品。您会惊奇地发现,原来您日常活 动中是如此频繁地接触这些器件。
[单片机]
HT46R14在冷阴极萤光灯变换器中的应用
液晶显示(LCD)面板有其广泛的应用领域,从小型的可携式电子器材,到大型的固定设备,应用包括数码相机、笔记本电脑、个人数据助理机、台式电脑以及工业仪器产品。LCD面板自身不能发光。因此,一般需要背光照明系统在背後提供光源。通常,最为普遍的发光设备是一种叫做CCFL的萤光管。 CCFL(Cold Cathode Fluorescence Lamp)即冷阴极萤光灯,是由一个直流转交流的变换器驱动的,它通常提供一个较大范围的直流电压输入,并将其转换为一个高频的交流高压输出,以驱动灯管。许多应用同样需要有效的灯光亮度控制能力以达到发出的灯光与周围环境的光线条件相协调,从而增加灯管和电池的使用寿命。 图1 CCFL通常由一个直流转交流的
[应用]
AVR单片机在生活中具体的应用
本文就单片机在生活中具体的应用,娓娓道来单片机的发展历程跟特性,并对单片机的前景进行了展望。 随着城市公交事业的不断发展,无人售票公共汽车已经越来越多地出现在各大城市的公交系统中,在这种情况下,传统的依靠售票员共报站的方式不再适用,取而代之的是高自动化、高集成度、高智能化得语音报站系统。 公交车语音报站系统的使用,为乘客提供了更加人性化的服务,它不但能够播报当前的到站站名,还能预报下一站的站名,有的报音系统还增加了许多附加功能,如转乘提示、安全提示等等,使乘客能够方便、安全地到达目的地。语音报站系统采用标准普通话报站,语音清晰流畅,并将相关信息通过屏显示出来,满足了不同类型乘客的需要。 模拟人声进行报站和预报站
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved