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

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

3天内不再提示

简述单片机常见的打印输出方式及区别

strongerHuang 来源:嵌入式专栏 作者:strongerHuang 2021-09-23 09:58 次阅读

作者 |strongerHuang

微信公众号 | 嵌入式专栏

单片机开发中,打印输出比较常见,也比较重要,今天就为大家分享一下常见的打印输出内容以及区别。

1写在前面

MCU项目中,printf主要用于打印输出一些调试信息。比如:程序执行出错,输出相关错误提示信息。

做的好的项目,会通过打印信息生成或保存日志信息,

2printf输出方式

教程主要是针对MCU的printf打印输出,常见的方式:

1.UART打印输出

2.仿真打印输出

3.SWO打印输出

4.JLink-RTT打印输出

除仿真之外,其它三种都是基于MCU硬件打印输出。

从打印效率来说:UART 《 SWO 《 JLink-RTT。

每一种printf打印输出方式应用场景不同,也各有各的特点。

3实验现象

先让大家从实验现象了解一下printf的内容,后面文章讲述具体的配置。

3.1 UART打印输出

d4c8d1c4-0d0d-11ec-8fb8-12bb97331649.png

这种printf是最常见的使用UART串口输出方式,需要占用一个硬件UART串口。

3.2 仿真打印输出

d4d8c908-0d0d-11ec-8fb8-12bb97331649.jpg

只在集成开发环境中模拟printf仿真输出,不需要连接开发板(硬件MCU)即可实现。

3.3 SWO打印输出

SWO:Serial Wire Output,串行线输出

SWD:Serial Wire Debug,串行线调试

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

SWO输出,需要多一根SWO(引脚)线,同时需要借助SWV(查看器)查看数据,分享4种方法:

·基于Keil的『Debug(printf)Viewer』

·基于IAR的『Terminal IO』

·基于ST-LINK Utility的『Serial Wire Viewer』

·基于J-Link的『SWO Viewer』

1.基于Keil的『Debug(printf)Viewer』

d4e63912-0d0d-11ec-8fb8-12bb97331649.jpg

2.基于IAR的『Terminal IO』

d4f3b5a6-0d0d-11ec-8fb8-12bb97331649.jpg

3.基于ST-LINK Utility的『Serial Wire Viewer』

d527b78e-0d0d-11ec-8fb8-12bb97331649.jpg

4.基于J-Link的『SWO Viewer』

d5463d76-0d0d-11ec-8fb8-12bb97331649.png

说明:前面2种可以分别基于ST-Link和J-link工具查看,第三种基于ST-Link查看,第四种基于J-link查看。

3.4 JLink-RTT打印输出

d561d1c6-0d0d-11ec-8fb8-12bb97331649.png

这种方式不需要使用UART串口,也不需要额外SWO引脚,但需要在代码中添加相关代码。

4软、硬件工具及其它说明

该教程使用的软件及工具有点多,默认大家已经安装并掌握使用方法。

4.1 软件工具

1.STM32CubeMX

请参看:【专栏】STM32CubeMX系列教程

2.Keil MDK-ARM

请参看:【专栏】Keil MDK-ARM系列教程

3.IAR EWARM

请参看:【专栏】IAR系列教程

4.STM32 ST-LINK Utility

请参看:【专栏】ST-Link资料

5.J-Link / J-Trace

下载地址:

https://www.segger.com/downloads/jlink

d56a1be2-0d0d-11ec-8fb8-12bb97331649.jpg

4.2 硬件

1.MCU开发板

原则上Cortex-M3,M4都行,本教程基于STM32F0、F1、F4系列进行讲述。

2.下载调试器

ST-Link

J-Link

3.PC电脑

当然推荐Windows电脑,因为MDK-ARM只支持WIndows系统。

4.3 其它说明

1.源代码工程下载

为方便大家学习,本系列教程将提供对应源代码工程,供大家下载。公众号后台回复关键字“printf”获取。

2.关于仿真输出

现在开发板很便宜(相比以前),而且仿真和实际可能存在差异,故我不推荐大家软件仿真。

编辑:jq

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

    关注

    6037

    文章

    44558

    浏览量

    635373
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17149

    浏览量

    351219
  • 数据
    +关注

    关注

    8

    文章

    7035

    浏览量

    89041
  • uart
    +关注

    关注

    22

    文章

    1235

    浏览量

    101400

原文标题:单片机常见的打印输出方式及区别

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    rca输出和平衡输出有什么区别

    RCA输出和平衡输出是两种不同的音频信号传输方式,它们在音质、抗干扰能力、连接方式等方面存在一些区别。 RCA
    的头像 发表于 10-17 11:07 2270次阅读

    《DNK210使用指南 -CanMV版 V1.0》第九章 打印输出实验

    函数介绍9.2 硬件设计9.3 程序设计9.4 运行验证 9.1 打印输出函数介绍在CanMV的使用过程中,为了方便观察脚本程序的运行情况,通常需要通过串口等方式,展示脚本程序运行过程中的数值、字符串
    发表于 09-28 14:51

    单片机io口怎么配置成输出

    单片机IO口配置成输出口的过程通常涉及对单片机内部寄存器的操作。不同型号的单片机在寄存器配置和编程方式上可能有所不同,但基本原理是相似的。以
    的头像 发表于 09-14 14:33 796次阅读

    单片机io口输出电流多大

    单片机IO口的输出电流大小会受到多种因素的影响,包括单片机的型号、IO口的配置模式以及外部威廉希尔官方网站 的设计等。以下是对单片机IO口输出电流的一般性
    的头像 发表于 09-14 14:29 1786次阅读

    寄存器的输入输出方式

    寄存器的输入输出方式是数字威廉希尔官方网站 设计中至关重要的部分,它决定了数据如何在寄存器中进出以及处理的效率。下面将详细探讨寄存器的几种主要输入输出方式,包括并行输入输出、串行输入输出以及双向输入
    的头像 发表于 09-05 14:09 1308次阅读

    基于STM32单片机的简易波形发生器设计

    系统内使用STM32单片机进行主控,proteus内部集成示波器,使用按键可以调节波形的输出方式,在示波器上可以实时观察波形的变化。
    的头像 发表于 06-27 10:18 1950次阅读
    基于STM32<b class='flag-5'>单片机</b>的简易波形发生器设计

    PLC的输出方式有哪些

    在工业自动化领域,可编程逻辑控制器(PLC)扮演着至关重要的角色。PLC的输出方式,作为其与外部设备交互的桥梁,直接影响着整个控制系统的性能和稳定性。本文将详细探讨PLC的输出方式,包括其类型、特点、应用场景以及发展趋势,以期为读者提供全面而深入的了解。
    的头像 发表于 06-13 17:21 1896次阅读

    PLC与单片机区别是什么

    在工业自动化和电子领域中,PLC(Programmable Logic Controller,可编程逻辑控制器)和单片机(Single-Chip Microcomputer)是两种常见的控制设备
    的头像 发表于 05-28 16:11 1919次阅读

    STM32单片机有哪几种常见的开发环境?

    STM32单片机是一款广泛应用于嵌入式系统开发的单片机,针对其开发,有以下几种常见方式:STM32单片机有哪几种
    的头像 发表于 05-18 08:04 3091次阅读
    STM32<b class='flag-5'>单片机</b>有哪几种<b class='flag-5'>常见</b>的开发环境?

    片上系统与单片机区别

    片上系统(SoC)与单片机在多个方面存在明显的区别
    的头像 发表于 03-28 14:39 1474次阅读

    fpga和单片机区别和联系 fpga和cpu区别

    fpga和单片机区别和联系 FPGA(现场可编程逻辑门阵列)和单片机在电子系统设计中都扮演着重要的角色,但它们之间存在明显的区别和联系。 区别
    的头像 发表于 03-14 17:33 1131次阅读

    fpga编程与单片机编程的区别

    FPGA编程与单片机编程的主要区别体现在以下几个方面。
    的头像 发表于 03-14 17:16 1002次阅读

    单片机编程和plc编程有什么区别

    单片机编程和PLC编程是两种不同的嵌入式系统开发领域。在这篇文章中,我们将详细探讨这两种编程方式区别。首先,我们将简要介绍单片机和PLC的基本概念,然后分析它们的不同特点和使用场景。
    的头像 发表于 02-22 10:23 2752次阅读

    请问PWM波输出方式中的边沿对齐与中心对齐有什么区别呢?

    请问PWM波输出方式中的边沿对齐与中心对齐有什么区别呢?对于PMSM FOC应该使用那种对齐方式呢?为什么呢?
    发表于 02-05 06:06

    UPS电源的输入输出方式有哪些?

    UPS电源的输入输出方式有哪些? UPS电源是一种供电设备,用于在主电源故障或波动时提供电力保护。它通过转换电能来使机器继续工作或提供足够的时间来备份数据或安全关闭设备。UPS电源可以通过不同的方式
    的头像 发表于 01-10 10:18 1391次阅读