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

作者 |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打印输出
这种printf是最常见的使用uart串口输出方式,需要占用一个硬件uart串口。
3.2 仿真打印输出
只在集成开发环境中模拟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』
2.基于iar的『terminal io』
3.基于st-link utility的『serial wire viewer』
4.基于j-link的『swo viewer』
说明:前面2种可以分别基于st-link和j-link工具查看,第三种基于st-link查看,第四种基于j-link查看。
3.4 jlink-rtt打印输出
这种方式不需要使用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
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.关于仿真输出
现在开发板很便宜(相比以前),而且仿真和实际可能存在差异,故我不推荐大家软件仿真。


LED相关专利情况分析
5G商用正式开启,诸多行业将迎来一个蓬勃发展的时期!
物联网开发人员需要了解的有关连接的知识
未来真的是人工智能做主吗
芝加哥成立区块链中心,为想了解区块链技术的企业家提供指导和学习
简述单片机常见的打印输出方式及区别
紫光展锐率先完成 5G R17 RedCap网络下VoNR技术验证
Blackhawk:应用物联网技术为客户创造新的收入来源
有哪些音质好的降噪耳机?2021年音质最好的降噪耳机推荐
风河嵌入式软件开发工具套件全面升级
工业生产中Profibus主站转Profinet网关优势所在
中国成功发射5米S-SAR 01星 长征二号丙运载火箭首飞40周年首次任务
5G与未来城市道路的关系
压铸铝去毛刺用SycoTec浮动主轴怎么样
消费级与车规级MCU市场冰火两重天
德州仪器CC2592RGVR无线收发zigbee芯片的特性及应用
ADC外部RC电路电阻和电容选取计算方法
4G智能手表出货量上季度增幅超90%
创龙 TL6678ZH-EVM开发板案例解析
雄立科技:覆盖全品类网络通信芯片 致力安全网络体系建设