振南技术干货集:各大平台串口调试软件大赏(1)

news2025/1/23 17:31:45

注解目录

(串口的重要性不言而喻。为什么很多平台把串口称为 tty,比如 Linux、MacOS 等等,振南告诉你。)

1、各平台上的串口调试软件

1.1Windows

1.1.1 STCISP

(感谢 STC 姚老板设计出 STCISP 这个软件。)

1.1.2 SSCOM

(这应该是使用人数最多的串口助手软件了。)

1.1.3 友善串口调试助手

1.1.4 Xshell

1) 多窗口排列

2) 按钮定制

1.1.5 SecureCRT

1.1.6 PuTTY

1.1.7 MobaXterm (MobaXVT) )

1.1.8 COMTool

(大家可以挑选适合自己的的软件下载下来试试。)

1.2Linux

1.2.1 CuteCom

(这应该是 Linux 下最常用的串口软件。)

1.2.2 minicom

(一个基于命令行的串口软件,有兴趣来见识一下。)

1.3MacOS

1.3.1 coolTerm

1.3.2 友善串口调试助手

1.3.3 Volt+ (伏特加)

(用 MacBook 来搞硬件调试,你真土豪。)

1.4iOS 与安卓

1.4.1 基于 USB 的串口调试软件

1、USB 串口调试助手

2、Serial USB Terminal

1.4.2 基于蓝牙的串口调试软件

1、BlueSPP

2、蓝牙串口

3、Android 蓝牙串口 Pro

(用手机来调试串口,配上这些软件,真是一机在手,一切全有。)

2 、串口监控的一些方案

2.1 硬件方案

(只需一根导线,串口双向数据尽收眼底。)

2.2 软件方案

2.2.1 Ser232Mon

2.2.2 Device Monistoring Studio

2.2.3 CommMonitor

2.2.4 AccessPort

2.2.5 ComSpy (串口监视精灵)

2.2.6 jpnevulator

(串口抓数和协议分析利器,涵盖 Windows 与 Linux。)

我们对于 UART 应该有着很深的情怀和依赖。想当年我们初学 51 单片机和 C语言,第-个接触的就是 UART,也就是串口。在后来的日子里,我们的水平在不断提升,所使用的芯片器件也越来越高级、越来越复杂,但是 UART 一直是必不可少的。似乎没有这个接口,我们就会感觉很奇怪,很不顺手。我们使用 UART 来做多芯片之间、芯片与设备之间的通信;使用它来输出 log 以便于我们了解程序的运行状态和定位 bug;更有高手用它构建 Sell 界面,来实现友好的人机交互。串口太重要了,它几乎就是我们与芯片沟通的首选方案。

在可追溯的过去,人们基于电传打字机( Teletypewriter ,简称tty ,是不是终于知道Linux下为什么将串口称为tty了)的编码方式发明了 UART ,并一直沿用致今;在可预见的未来,各种更高端的 CPU 、SoC 等芯片依然会保留这一接口。虽然曾几何时,电脑上已经取消了传统RS-232 接口,取而代之的是更强大的 USB 接口。但是这一举措,激起了 USB 串口桥接芯片市场的新浪潮。FT232CP2102 以及国产的 CH341(沁恒)PL2303(中国台湾 Prolific)等-系列解决方案层出不穷。一条稳定耐用的 USB 串口调试线和一个方便易用的串口调试软件成了硬件和嵌入式研发工程师的必备利器

本章振南将介绍一些值得推荐的串口调试软件,它们也是振南在过去十几年的研发经历中曾经使用过的。看完本章,你也许会惊叹:原来串口调试软件还有这么多!也可以这么强大!

1

各平台上的串口调试软件

嵌入式系统工程师的最终形态一定是游走于多个平台之间,包括 Windows,Linux 以及各种嵌入式操作系统。各平台都有各自比较优秀的串口调试软件

1.1 Windows


Windows 上的串口软件数不胜数,很多人经常淹没在串口软件的海洋中,下载一个不满意,再下一个不好使,最后感叹:想找个好用的串口软件就这么难!希望振南的推荐可以满足你的使用需求。

1.STCISP

我用了很多年的 STC 单片机,直到 2008 年我才全部转为使用 STM32 等其他芯片。虽然STC 单片机已经很多年不用了,但是它的下载烧录软件STCISP 我还一直在用。因为它内嵌了一个很好的串口工具(感谢姚老师这么贴心的设计),如图 3.1 所示。


图 3.1 STCISP 软件内嵌的串口工具

到底什么样的串口工具算是好的?其实很简单,主要以实用为主:(1)可以支持 ASCII 与Hex模式收发;(2)可以选择不少于 4 个串日端口;(3)可以灵活设置串口参数,如波特率、校验位;(4)稳定不丢数据,不应有太大的数据延迟。这 4 条是最基本的要求,缺少其一都会影响使用,让人产生反感。

STCISP 功能不多,但是它恰恰符合上述几点。下载地址:www.stcmcudata.com。

2.SSCOM

这个软件估计很多人都在用,也确实很好用。它是由大虾电子网研发并发布的免费软件,如图 3.2 所示。


图 3.2 大虾电子网发布的 SSCOM 软件

图 3.2 所示是它最新版本 5.13.1,它除了基本的功能之外,还有定时发送、文件发送、接收数据到文件、时间戳等功能,可以说很强大。而且最新版本已经支持网络调试,包括 TCPS—erver、TCPClient和 UDP。还有一个比较有特色的功能就是自动计算校验码,支持多种 CRC以及校验和,这对于调试 Modbus 非常方便。而且最难能可贵的是,它的接收框是可以 Shell交互的。这种功能只有像后面要介绍到的 Xshell或 SecureCRT 之类的终端软件才有,但是这些软件可都是收费的。所以,SSCOM 基本上可以新老咸宜,易于上手,成为 Windows 平台上流传甚广的知名串口工具是有原因的。

SSCOM 是一款非常优秀的免费的专业级的串口工具。下载地址: www.sscom.vip。

3.友善串口调试助手

友善之臂(杭州野芯科技)这个品牌大家有所耳闻,是做 ARM 开发板、相关配件以及仿真工具的。它也推出了一款串口软件,如图 3.3 所示。


图 3.3 友善之臂发布的串口调试助手

这款软件看似简单,其实功能也比较强大。(1)它除了串口调试之外,也可以作网口调试;(2)支持多端口同时调试,如图 3.4 所示;(3)提供几个实用小工具,比如 ASCII表、校验计算器(支持 CheckSum与CRC)。

友善串口调试助手也是一款比较实用的串口工具,还有就是它的界面看着比较舒服。

下载地址:https://www.alithon.com/downloads。

4.Xshell

上面振南所介绍的都是一些开源或者免费软件,这里要介绍的 XShel 是商业软件,是由家名叫 NetSarang 的公司(全名是 NetSarang Computer,Inc.,主要致力于安全终端软件的开发)开发的。既然是商业软件,它的整体品质自然是上述免费软件所不能及的。振南使用试用版来为大家介绍。

说实话,关于 Xshell 这一节还真不太好写,因为它过于强大,我甚至不知从何说起。

Xshell 严格意义上讲,并不是一款串口调试软件,或者说并不是一款仅用于串口调试的软件。串口只是它所支持的一个端口而已。除此之外,它还支持 SSH、TELNET、SFTP 等多种


图 3.4 对多端口的支持

协议连接方式,甚至支持JS、Python 等脚本,从而可以实现一些自动执行的任务。

振南来介绍几个比较出彩的功能。

(1 )多窗口排列

很多时候我们需要同时调试多台设备,那就需要多个调试终端。最典型的应用就是通信设备的收发,一发一收,一发多收,多发多收等等。Xshell 的多窗口排列可以满足这个需求,如图 3.5 所示。


图 3.5 Xshell 对多端口的支持

(2)定制按钮

Xshell 定制按钮的功能很强大,如图 3.6 和图 3.7 所示。


图 3.6 定制按钮可实现多种操作


图 3.7 定制按钮的效果

这样只要鼠标一按,即可执行预设好的操作,而不再需要手工输入命令。而且这些定制好的按钮还可以导出为模版,让大家共享。这样 Xshell 一跃就成了项目专属的调试工具了。

(3)关键词高亮

你是否有过这样的困扰,调试的时候 log 一大堆,你所关注的信息被淹没在大量的无用log 之中。可能你就只想看某个变量的值,或者某个字符串。然而串口软件又不支持文本搜索,我们只能把 log 复制到记事本,然后搜索。

Xshell 的关键词高亮功能可以完美解决这一问题。而且它还支持正则表达式,我们可以理解为智能的字符串匹配。比如高亮显示所有以 temprature 开始,以C结束的字符串;又比如高亮显示所有以 3-4-4 格式显示的数字,即电话号码,如图 3.8 所示。


图 3.8 使用 Xshell 的正则式高亮显示log中的所有电话号码

关于正则表达式,振南会在其他章节进行专门的讲解(正则表达式是非常有用的东西)。

当然,你也可以直接在 log 上右键查找,这样更方便,如图 3.9 所示。


图 3.9 直接对log进行搜索(支持正则式)

最后再说一点,大型软件往往不乏彩蛋,Xshell 中可以通过 SSH 登录一些开源的游戏服务器,直接玩游戏,比如字符版的贪吃蛇,如图 3.10 所示。服务器地址 ssh sshtron.zachlatta.com,工作之余休闲一下。

Xshell 是商业软件,鼓励大家去申请试用版来进行体验。如果是项目或公司使用,一定要支持正版哦!


图 3.10 Xshell SSH 登录字符游戏服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1268365.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FPGA程序执行相关知识点

1.目前,大多数FPGA芯片是基于 SRAM 的结构的, 而 SRAM 单元中的数据掉电就会丢失,因此系统上电后,必须要由配置电路将正确的配置数据加载到 SRAM 中,此后 FPGA 才能够正常的运行。 常见的配置芯片有EPCS 芯片 &#x…

基于傅里叶变换的运动模糊图像恢复算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、傅里叶变换与图像恢复 4.2、基于傅里叶变换的运动模糊图像恢复算法原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 %获取角度 img…

[密码学]DES

先声明两个基本概念 代换(substitution),用别的元素代替当前元素。des的s-box遵循这一设计。 abc-->def 置换(permutation),只改变元素的排列顺序。des的p-box遵循这一设计。 abc-->bac DES最核心的算法就是…

从零搭建AlibabaCloud微服务项目

1&#xff0c;创建maven项目工程如下 equipment-admin 后台equipment-applet 前台或小程序端或app、h5equipment-common 公共模块equipment-gateway 网关equipment-mapper mapper层操作数据库equipment-model 实体类对应数据库表 2&#xff0c;在父pom文件引入依赖 <proper…

找不到 sun.misc.BASE64Decoder ,sun.misc.BASE64Encoder 类

找不到 sun.misc.BASE64Decoder &#xff0c;sun.misc.BASE64Encoder 类 1. 现象 idea 引用报错 找不到对应的包 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;2. 原因 因为sun.misc.BASE64Decoder和sun.misc.BASE64Encoder是Java的内部API&#xff0c;通…

二叉树OJ题之二

今天我们一起来看一道判断一棵树是否为对称二叉树的题&#xff0c;力扣101题&#xff0c; https://leetcode.cn/problems/symmetric-tree/ 我们首先先来分析这道题&#xff0c;要判断这道题是否对称&#xff0c;我们首先需要判断的是这颗树根节点的左右子树是否对称&#xff0…

qt-C++笔记之主线程中使用异步逻辑来处理ROS事件循环和Qt事件循环解决相互阻塞的问题

qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题 code review! 文章目录 qt-C笔记之主线程中使用异步逻辑来处理ROS事件循环和异步循环解决相互阻塞的问题1.Qt的app.exec()详解2.ros::spin()详解3.ros::AsyncSpinner详解4.主线程中结合使用的示…

图面试专题

一、概念 和二叉树的区别&#xff1a;图可能有环 常见概念 顶点&#xff08;Vertex&#xff09;&#xff1a; 图中的节点或点。边&#xff08;Edge&#xff09;&#xff1a; 顶点之间的连接线&#xff0c;描述节点之间的关系。有向图&#xff08;Directed Graph&#xff09;&…

05、基于梯度下降的协同过滤算法

05、基于梯度下降的协同过滤算法理论与实践Python 开始学习机器学习啦&#xff0c;已经把吴恩达的课全部刷完了&#xff0c;现在开始熟悉一下复现代码。对这个手写数字实部比较感兴趣&#xff0c;作为入门的素材非常合适。 协同过滤算法是一种常用的推荐算法&#xff0c;基于…

vue3+ts 实现时间间隔选择器

需求背景解决效果视频效果balancedTimeElement.vue 需求背景 实现一个分片的时间间隔选择器&#xff0c;需要把显示时间段显示成图表&#xff0c;涉及一下集中数据转换 [“02:30-05:30”,“07:30-10:30”,“14:30-17:30”]‘[(2,5),(7,10),(14,17)]’[4, 5, 6, 7, 8, 9, 10, …

SpringBoot项目发送邮件

&#x1f4d1;前言 本文主要是【SpringBoot】——SpringBoot项目发送邮件的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f3…

【人工智能Ⅰ】实验2:遗传算法

实验2 遗传算法实验 一、实验目的 熟悉和掌握遗传算法的原理、流程和编码策略&#xff0c;理解求解TSP问题的流程并测试主要参数对结果的影响&#xff0c;掌握遗传算法的基本实现方法。 二、实验原理 旅行商问题&#xff0c;即TSP问题&#xff08;Traveling Salesman Proble…

每日一题 2336. 无限集中的最小数字(中等)

感觉就是模拟它的两个过程就行了啊 class SmallestInfiniteSet:def __init__(self):self.small 1self.delset set()def popSmallest(self) -> int:ans self.smallself.delset.add(self.small)while self.small in self.delset:self.small 1return ansdef addBack(self,…

MATLAB | 官方举办的动图绘制大赛 | 第三周赛情回顾

MATHWORKS官方举办的迷你黑客大赛第三期(MATLAB Flipbook Mini Hack)的最新进展&#xff01;&#xff01; 很荣幸前三周都成为了阶段性获奖者~&#xff1a; https://ww2.mathworks.cn/matlabcentral/communitycontests/contests/6/entries/13382 https://ww2.mathworks.cn/mat…

展开运算符(...)

假如我们有一个数组&#xff1a; const arr [7,8,9];● 我们如果想要数组中的元素&#xff0c;我们必须一个一个手动的去获取&#xff0c;如下&#xff1a; const arr [7,8,9]; const badNewArr [5, 6, arr[0], arr[1],arr[2]]; console.log(badNewArr);● 但是通过展开运…

计算机基础知识61

JsonResponse 功能例子 你自己写一个类&#xff0c;实现JsonResponse 功能&#xff0c;不需要传safeFalse&#xff0c;无论字典或列表&#xff0c;都能完成序列化返回给前端 1 响应头例子 四种情况&#xff0c;在响应头返回数据 xxxx # 第一种情况 JsonResponse def show(req…

软件测试项目大全,看你需要哪一个

软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程&#xff0c;其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 在软件投入使用前&#xff0c;要经过一系列的严格测试&#xff0c;才能保证交付质量。 一、引言 1.编写目的 本文档…

Nat. Mach. Intell. | 预测人工智能的未来:在指数级增长的知识网络中使用基于机器学习的链接预测

今天为大家介绍的是来自Mario Krenn团队的一篇论文。一个能够通过从科学文献中获取洞见来建议新的个性化研究方向和想法的工具&#xff0c;可以加速科学的进步。一个可能受益于这种工具的领域是人工智能&#xff08;AI&#xff09;研究&#xff0c;近年来科学出版物的数量呈指数…

Kong处理web服务跨域

前言 好久没写文章了&#xff0c;大概有半年多了&#xff0c;这半年故事太多&#xff0c;本文写不下&#xff0c;就写写文章标题问题&#xff01; 问题描述 关于跨域的本质问题我这里不过多介绍&#xff0c;详细请看历史文章 跨域产生的原因以及常见的解决方案。 我这边是新…

对二分搜索的理解 Go语言版

二分搜索大家都很熟悉&#xff0c;首先我们先来看看基本框架 func binarySearch(nums []int, target int) int {left, right : 0, ...for ... {mid : left (right-left)/2if nums[mid] target {...} else if nums[mid] < target {left ...} else if nums[mid] > targ…