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

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

    关注

    6074

    文章

    45340

    浏览量

    663558
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18605

    浏览量

    387049
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93982
  • uart
    +关注

    关注

    22

    文章

    1304

    浏览量

    106112

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    单片机使用printf打印编译出错的原因?

    单片机使用printf打印编译出错,有哪些情况?
    发表于 11-21 06:02

    单片机用什么封装

    单片机封装是将芯片内部电路与外部引脚连接并包裹保护的结构,不仅影响单片机的安装方式、适用场景,还与电路设计的紧凑性、散热性能密切相关。不同封装类型各有特点,适配从简单电路到复杂系统的多样化需求
    的头像 发表于 08-01 13:47 896次阅读

    单片机采用什么电流输出

    单片机的电流输出特性与其内部电路设计和应用场景密切相关,既包含自身工作时的微弱电流,也涉及通过外部电路扩展后的驱动电流。了解单片机的电流输出特点,是实现稳定控制外部设备的基础。
    的头像 发表于 07-30 11:13 747次阅读

    怎么放大单片机输出电流

    单片机作为电子系统的控制核心,其 I/O 口输出电流通常较小(一般在 10-20mA 左右),难以直接驱动继电器、电机、大功率 LED 等需要较大工作电流的外设。因此,在实际应用中需通过特定电路放大
    的头像 发表于 07-25 13:47 494次阅读

    怎么测单片机系统频率

    ,各有其特点和操作要点。 示波器测量法 示波器是测量单片机系统频率的常用工具,其原理是通过捕捉单片机输出的周期性信号,根据信号的周期计算频率。 操作步骤 首先,确定单片机的时钟
    的头像 发表于 07-25 11:39 476次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机是怎么控制的

    单片机作为电子系统的控制核心,通过接收外部信号、执行预设程序、驱动外部设备的方式实现控制功能,其控制过程涉及信号输入、数据处理和指令输出三个关键环节,每个环节的协同配合决定了整体控制效果。 信号输入
    的头像 发表于 07-23 13:59 478次阅读

    伺服系统和单片机有什么区别

    伺服系统和单片机是两类完全不同的技术,主要区别体现在功能定位、工作原理、应用场景等方面。
    的头像 发表于 06-28 15:21 464次阅读

    单片机和伺服有什么区别

    单片机和伺服的区别 单片机(Microcontroller)和伺服(Servo System)是两种完全不同的技术概念,分别属于 控制系统硬件 和 运动控制执行系统 。以下是它们的详细对比和
    的头像 发表于 05-26 09:18 581次阅读

    PLC和单片机到底有什么区别

    在自动化和嵌入式开发领域,PLC和单片机是两种常见的控制系统。虽然它们有许多相似之处,但它们的功能、应用范围、开发成本等方面也存在显著差异。本文将从多个角度详细探讨这两者的不同之处,帮助大家更好地理
    的头像 发表于 04-07 11:58 4632次阅读
    PLC和<b class='flag-5'>单片机</b>到底有什么<b class='flag-5'>区别</b>?

    瑞萨Cortext-M85内核RA8系列单片机的串口输出实现方法

    串口是最常见的通信方式之一,也是单片机调试最常见的通信接口,也是现在的单片机必备的通信接口,目前(2024-05)最新、最强的Cortext
    的头像 发表于 03-21 09:58 1557次阅读
    瑞萨Cortext-M85内核RA8系列<b class='flag-5'>单片机</b>的串口<b class='flag-5'>输出</b>实现方法

    数码管和单片机的连接方式

    了解数码管和单片机的工作原理,以及它们之间的连接方式,不仅有助于电子爱好者进行项目开发,也是电子工程师必备的技能。本文将围绕这两个核心组件,展开深入且全面的技术探讨。
    的头像 发表于 02-05 17:44 2233次阅读

    单片机I/O接口的传输方式

    单片机(Microcontroller Unit,MCU)作为嵌入式系统的核心部件,其输入输出(Input/Output,I/O)接口是实现与外部设备数据交换的关键。I/O接口不仅承担
    的头像 发表于 02-02 15:56 1640次阅读

    单片机Debug与仿真区别

    单片机的开发是一个复杂的过程,涉及到硬件设计、软件开发和测试等多个环节。为了确保单片机能够按照预期工作,开发者需要使用Debug和仿真技术来检测和修正代码中的错误。 Debug(调试) Debug
    的头像 发表于 12-19 09:47 1402次阅读

    DAC2902的差分输出方式,共模输出的电压范围是多少?

    1.DAC2902的差分输出方式,共模输出的电压范围是多少。 2.DAC2902的差分输出给到 TX RFIC input requiremnts 的射频收发器芯片,芯片的共模电压为0.9V-1.3V时,请问DAC2902的差
    发表于 12-13 07:43