0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32的多种printf用法 你都知道吗?

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 作者:黄工的嵌入式技术 2020-02-29 17:02 次阅读

在调试代码的时候,最常用的就是使用printf函数来输出一些打印信息,提示自己代码的执行情况。

如果你的UART串口不够用,还要用printf,此时该怎么办?

方法其实是有的,那就是:使用SWO/SWV。

SWO:Serial Wire Output,串行线输出

SWD:Serial Wire Viewer,串行线查看器

一、常见printf输出

1.UART打印

这种使用UART串口输出,需要占用一个硬件串口。

2.Keil MDK-ARM Viewer输出

3.IAR EWARM终端输出

4.ST-LINK Utility SWV输出

这后面三种不占用硬件UART,使用ITM机制。

二、UART映射printf

这种方法应该很多人都知道,就是使用硬件UART串口映射,实现printf打印输出。

对于Keil、 IAR,只需要添加如下代码,就可以使用printf函数:

#include "stdio.h"int fputc(int ch, FILE *f){HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF); return ch;}

意思就是将UART输出(串口输出一个字符)进行映射。

三、Keil MDK-ARM Viewer输出

针对2、3、4输出:

添加代码:

#include "stdio.h"int fputc(int ch, FILE *f){ ITM_SendChar(ch); return ch;}

在Keil的Options中设置:

提示:Core Clock内核时钟要和你实际时钟对应。

四、IAR EWARM终端输出

1.Oprtins设置:

2.SWO配置

五、ST-LINK Utility SWV输出

工具在线查看输出信息,需要上面配置代码,通过ST-Link链接即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2272

    文章

    10923

    浏览量

    357301
  • 串行
    +关注

    关注

    0

    文章

    237

    浏览量

    33945
  • Printf
    +关注

    关注

    0

    文章

    83

    浏览量

    13705
收藏 人收藏

    评论

    相关推荐

    LED户外显示屏的五大优势,知道吗

    LED户外显示屏的五大优势,知道吗? LED户外显示屏在城市的夜晚中扮演着越来越重要的角色,其鲜艳的色彩、生动的画面为城市增添了一抹亮色。那么,LED户外显示屏的显示效果到底如何呢?让我们一起
    的头像 发表于 01-06 18:20 161次阅读

    stdio.h实现了printf函数?

    我们平时包含的 stdio.h 头文件,里面是不是实现了 printf 函数? 为什么会有这个疑问?因为每次使用 printf,就得包含 stdio.h ,这就导致很多同学误以为,stdio.h
    的头像 发表于 12-18 10:28 231次阅读

    这些电源常用仿真软件,知道吗

    电源系统的建模仿真是电源开发过程中不可或缺的一环,它可以帮助工程师模拟电源系统,测试电源功能,验证电源方案可行性,优化电源电路设计,加速电源系统开发。 选择一款合适的仿真软件至关重要,本篇将对在电源仿真中的常用软件为大家进行介绍。 电源仿真 01 电源仿真 电源仿真是指通过计算机仿真软件对电源系统行为进行模拟和分析。仿真软件利用数学模型和算法来模拟电路的工作过程,并通过计算得出电源系统的电路参数,便于工程师验证分析。 电源仿真为电源系统开发带来很多便利 : ▍电源的设计与分析: 在电源方案制定过程中,可利用电源仿真手段辅助电源电路设计与分析,提升电源方案的制定效率与设计可靠性; ▍电源性能验证: 在搭建实际电源系统前,可利用电源仿真对电源性能进行验证,降低电源系统制造的试错成本,有助于实际电源系统顺利搭建; ▍电源故障排查: 电源仿真可用于排除工作不正常的电路,发现电源设计可能存在的故障,帮助工程师识别问题根源并快速解决问题; ▍电源优化设计: 可以在仿真软件上进行电源性能优化方法验证,有助于提升电路的性能、可靠性以及效率。 02 仿真流程 电源系统仿真大概可以分为仿真模型搭建、仿真参数设置、仿真模型运行以及仿真结果分析四部分内容。 ▍搭建仿真模型: 根据电源的设计方案结合具体仿真内容在相应的仿真软件中搭建仿真模型。 ▍仿真参数设置: 按照电源方案中对电气或电磁参数的设计对仿真模型参数进行设置。 ▍仿真模型运行: 对仿真模型进行电源系统仿真,模型运行无误后,获得所需的电源参数。 ▍仿真结果分析: 对仿真结果中关键电源参数进行分析,判断是否符合预期。 仿真最重要的是搭建出符合实际情况的模型,并对仿真结果心中有数,它不能替代计算和分析,用做验证是合适的。 在前文「LLC谐振变换器仿真建模与控制策略分析」篇中,我们采用MATLAB中的电路仿真软件包Simulink,对LLC谐振变换器电路进行了仿真建模,感兴趣的工程师们可以去回顾一下,这里就不赘述了。 常用仿真软件 在进行电源设备设计仿真时,会涉及到电路、电磁、热学、力学方面的仿真。 电路仿真: 通过仿真软件将电路的元件和连接关系转化为数学模型,有效地理解和预测实际电路的性能和行为。 电磁仿真: 将电磁场问题转化为数学模型,对电磁场的行为和相互作用进行模拟和分析。 热学仿真: 模拟热量在设备中的传递,帮助设计更有效的散热方案,防止过热。 力学仿真: 模拟材料在力作用下的变形和应力,确保产品设计的强度和耐用性。 下面一起来认识一下这几类电源仿真的常用软件吧。 01 电路仿真软件 ▍ PSIM(Power Simulation) PSIM是Powersim开发的趋向于电力电子领域以及电机控制领域的电路仿真软件,支持开关器件高阶非线性行为模型和开关器件SPICE模型。软件运行速度快,建模能力好,比较适用于需要较长处理时间的模拟。 ▍ Matlab/Simulink Simulink是一个基于MATLAB的多域模拟和模型设计软件,内置大量封装好的电源IC中常见的底层数模逻辑控制模块,并附带众多专门针对电源应用的器件建模和分析模组,配合MATLAB的其他工具可进行复杂的建模和数理分析。软件仿真精度高但仿真速度较慢,适合复杂数字控制与逻辑功能的实现。 ▍ Pspice Pspice是由美国加州大学推出的电路分析仿真软件,可用于模拟各种类型的电源电路。软件提供了直观的用户界面并可以自行建立元器件及元器件库,仿真结果精度高,但是仿真速度较慢且软件中专门针对电源的分析工具不足。 ▍ LTspice LTspice是ADI公司开发的一款电源仿真软件、原理图采集和波形观测器,为改善模拟电路的仿真提供增强功能和模型。内置ADI公司的大量器件模型,并支持自定义模型的导入。 ▍ SIMPLIS SIMPLIS是由Designers of SIMPLIS Technologies开发的一种基于时域部分线性化技术的电源仿真软件,可进行电源系统的高效仿真,在闭环开关电源设计中使用广泛。 02 电磁仿真软件 ▍ ANSYS ANSYS软件是美国ANSYS公司研制的大型通用有限元分析软件。针对开关电源的仿真解決方案,ANSYS软件可以实现磁性部件性能仿真及电源电路系统性能仿真,从而在开关电源电路设计磁性器件性能优化、EMI噪声仿真方面提供帮助。 ▍ Saber Saber能够全面分析电源系统的各项指标如环路频率响应、功率管开关、磁性器件的工作情况。软件采用硬件描述语言(MAST)和单内核混合仿真方案,建立最精确、最完善的系统仿真模型。面向实际工程的复杂分析功能十分全面,但仿真速度慢。 03 热学仿真软件 ▍ ICEPAK ICEPAK软件是由Fluent公司开发,专门为电子产品工程师定制开发的电子热分析软件,能够处理曲面几何,采用fluent求解器,集成在ANSYS中。 ▍ FLOTHERM FLOTHERM软件由Mentor Graphics公司开发,是一款专门针对电子器件/设备热设计而开发的仿真软件,可以实现从元器件级、PCB板和模块级、系统整机级到环境级的热分析。 04 力学仿真软件 ▍ ANSYS Mechanical ANSYS Mechanical 是一款用于结构分析的仿真软件,集成在ANSYS中,能进行线性和非线性力学模拟,包括静力学、动力学和疲劳分析,适合解决各种工程结构问题。 ▍ ABAQUS ABAQUS软件是由达索公司开发,是非线性有限元分析软件,擅长处理复杂的工程问题,如材料的塑性、蠕变、疲劳等。 以上就是本期为大家分享的常用电源仿真软件了。仿真软件可以帮助工程师快速预测和解决潜在问题,提升电源系统开发效率,降低研发成本。但电源系统仿真项目多样且各种仿真软件层出,选择仿真软件时,需要综合考虑项目需求、软件功能及软件易用性,从而实现高效仿真。
    发表于 10-25 14:20

    这些电源常用仿真软件,知道吗

    电源系统的建模仿真是电源开发过程中不可或缺的一环,它可以帮助工程师模拟电源系统,测试电源功能,验证电源方案可行性,优化电源电路设计,加速电源系统开发。选择一款合适的仿真软件至关重要,本篇将对在电源仿真中的常用软件为大家进行介绍。一、电源仿真1、电源仿真电源仿真是指通过计算机仿真软件对电源系统行为进行模拟和分析。仿真软件利用数学模型和算法来模拟电路的工作过程,
    的头像 发表于 10-24 18:05 604次阅读
    这些电源常用仿真软件,<b class='flag-5'>你</b><b class='flag-5'>都</b><b class='flag-5'>知道吗</b>?

    电源的这些常识知道吗

    因为电源部件是消耗品,导致电源有一定的使用寿命。因此,使用一定时间后,我们或多或少会出现一些异常现象。一些简单的学生可以简单地自己解决。然而,许多情况下,涉及技术问题的人无法开始。这时,我们需要知道
    的头像 发表于 09-26 13:58 298次阅读

    PCBA打样要注意哪些关键信息知道吗?

    一站式PCBA智造厂家今天为大家讲讲PCBA打样过程中应该注意哪些事项?产品设计研发阶段进行PCBA打样的注意事项。在产品设计研发阶段进行PCBA打样是非常关键的一步,接下来为大家介绍产品设计研发阶段PCBA打样的注意事项。 产品设计研发阶段PCBA打样的注意事项: 1. 设计评审与验证:在进行PCBA打样之前,应该进行设计评审,确保PCB布局、元器件选型、电路连接等方面符合设计要求。同时,进行模拟仿真和原型验证,以确认设计的功能和性能。 2. 选择合
    的头像 发表于 08-23 09:32 275次阅读

    还不会吗?三分钟让速通Printf~

    一、Printf简介Printf是一个标准的c库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
    的头像 发表于 07-27 08:11 365次阅读
    还不会吗?三分钟让<b class='flag-5'>你</b>速通<b class='flag-5'>Printf</b>~

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    。而且printf函数的返回值与字符串的长度相等。 以前用STM32CubeIde生成的工程也使用了同样的单板调试,也使用串口输出,没有任何问题。这次不知道为啥会这样。printf函数
    发表于 05-24 06:13

    单片机Debug的这几种方式,知道吗

    嵌入式工程师在对单片机进行编程、结果验证、查找bug需要用到调试的方法,用来进行调试定位,方便找出应用上的问题所在。一般调试方式有仿真器调试、调试器调试、逻辑分析仪分析波形、示波器观察信号、串口
    的头像 发表于 05-01 08:10 3885次阅读
    单片机Debug的这几种方式,<b class='flag-5'>你</b><b class='flag-5'>都</b><b class='flag-5'>知道吗</b>?

    STM32的疑难杂症之一:Printf的使用

    一、Printf简介Printf是一个标准的C库API,用来打印信息显示的。Printf的底层输出调用,在windows环境下是fputc函数,在GNUC环境下是__io_putchar函数
    的头像 发表于 04-02 08:09 3951次阅读
    <b class='flag-5'>STM32</b>的疑难杂症之一:<b class='flag-5'>Printf</b>的使用

    求助,关于STM32CUBEIDE1.5.0使用Printf函数的疑问

    基于eclipse的,就把工程弄到STM32CUBEIDE中,但怎么都不OK 自己从新从STM32CUBEMX到STM32CUBEIDE建工程,发现可以烧录进去,LED跑起来了,但是print
    发表于 03-22 06:47

    中性点接地和中性点不接地的区别知道吗

    电力系统中性点运行方式有不接地、经电阻接地、经消弧线圈接地或直接接地等多种
    的头像 发表于 02-20 10:34 5128次阅读
    中性点接地和中性点不接地的区别<b class='flag-5'>你</b><b class='flag-5'>都</b><b class='flag-5'>知道吗</b>?

    路由器的六种传输模式,知道哪个呢?

    路由器的六种传输模式,知道哪个呢? 路由器是当今网络通信中不可或缺的设备,它能将网络数据包在不同的计算机网络中进行转发。而在这个过程中,路由器还支持多种传输模式。 1. 静态路由模
    的头像 发表于 02-04 14:08 2370次阅读

    同步整流和异步整流的工作方式和区别,知道吗

    同步整流和异步整流的工作方式和区别,知道吗? 同步整流和异步整流是电力电子领域中常用的两种整流方式。它们在工作原理、结构设计以及特性等方面存在一定的区别。 一、同步整流工作方式及原理 同步整流
    的头像 发表于 02-04 10:06 2471次阅读

    滤波器的这几种端接方式知道吗

    滤波器为了和相关的设备连接设有输入、输出端子,由于相关设备有不同情况的需要,所以有几种可供选择的端子,它们是:引线式、焊片式、螺栓式、栅栏式、铜排式和插座式等还可以定做特殊的连接方式。
    的头像 发表于 02-02 17:11 1268次阅读
    滤波器的这几种端接方式<b class='flag-5'>你</b><b class='flag-5'>都</b><b class='flag-5'>知道吗</b>