Linux上的串口软件非常少,网络上80%的帖子都在介绍minicom,然而它又不是万能的。

串口软件分为两类,一类是串口终端模拟器,它只支持输入ASCII码。另一类是串口数据收发软件,可以发送十六进制数据。

工作中这两类工具都不可或缺,本文介绍我所使用的几款串口软件。

(1) minicom

minicom属于串口终端模拟器,支持常用的串口输出功能,包括十六进制字符、时间戳等。

使用用法:

  • 连接串口:minicom -D /dev/ttyACM0
  • 退出软件:Ctrl + A X
  • 打开帮助面板:Ctrl+A Z

在minicom中输入错误可以通过Backspace键删除重新输入。

缺点:调整终端窗口大小,会导致minicom中的已有数据被清除。

(2) tio

tio是串口终端模拟器,它功能简洁,但是比较易用。

使用方法:

  • 连接串口:tio /dev/ttyACM0
  • 退出软件:Ctrl + T Q
  • 打开帮助面板:Ctrl + T ?

调整终端窗口不会清除tio的数据内容。

缺点:输入字符时无法修改,比如输入prnt,想修改成print,只能回车后重新输入。

(3) cutecom

cute属于第二类串口工具,它有一个GUI界面,能够方便的输入十六进制数据。

(4) 其他

picocom:类似minicom

cu:类似minicom

gtkterm:类似cutecom

 


 

习惯了Windows系统,突然转到Linux上操作串口会不适应。

系统默认情况下,访问串口需要管理员权限,但是GUI程序无法方便的使用sudo,这就导致cutecom无法检测到串口端口。

解决办法:

将当前用户加入到一个特殊的组(dialout)中,该组具有访问串口的权限,从而无需额外的sudo操作。

在终端中执行:

> sudo usermod -a -G dialout <username>
> systemctl stop ModemManager.service
> systemctl disable ModemManager.service

(完)

 

做底层嵌入式芯片开发,需要经常使用串口,一个好用的串口软件必不可少。

本文介绍几个我经常使用的串口软件。

(1)ScriptCommunicator

ScriptCommunicator

该软件是一个开源软件,托管在github上,其官网介绍了许多功能。

而我经常使用的功能包括:

  • 启动软件自动连接上次使用的串口
    如果使用相同的开发板,每次连接都不需要手动配置串口号和波特率。
  • 发送端支持ASCII和Hex,支持换行
    非常方便输入LF、CR以及它们俩的各种组合
  • 支持重复发送
    轻松实现每10ms发送N个字节
  • 支持保存记录
    可以将经常使用的数据保存下来,方便以后调取
  • 接收端支持显示时间戳
  • 接收端可以显示ASCII和Hex等多种进制

ScriptCommunicator无需安装,启动很快。它还支持脚本,虽然我从来没有用过。

(2)YAT

YAT=Yet Another Termianl

YAT

YAT的功能也非常丰富,ScriptCommunicator具备的功能它基本都拥有。它的设计思路比较独特,需要适应。

输入不同的进制数:

  • ASCII:123
  • 十六进制:\h(31 32 33)
  • 二进制:\b(xxxx xxxx)

支持输入C语言风格转义字符,以下几种写法均能正确识别:

  • ABC\r
  • ABC\n
  • ABC<CR>
  • ABC<LF>

举个例子,每隔100ms发送一次数据,重复十次,数据内容为ABC,并且结尾为\n,则可以在输入框中输入如下指令:

ABC\n\!(NoEOL)\!(LineInterval(100))\!(LineRepeat(10))

YAT和ScriptCommunicator两个如何选择呢?

我的电脑上总是会同时装上他们俩,每月单号日期用YAT,双号用ScriptCommunicator。

(3)Poderosa

这个软件名字是西班牙语的Powerful,我从来都记不住。

这个界面跟上面两个软件界面显著不同,它是一个串口终端模拟器。

它的任务不是输入各种进制的数值,而是跟UART另一端设备能够有良好的互动。

可以看到最大的区别是,它有不同的颜色,这些颜色可以通过设备端发送UART附加数据来控制。

在上图中,输入print,然后按下Tab键,即可自动显示支持的命令。

如果从官网下载的压缩包,打开后无法运行并弹出此链接显示的错误,请尝试按照这个帖子的做法进行修复:在压缩包上执行Unlock。

(4)XShell

XShell与Poderosa属于一类软件,但是它会更加成熟和稳定,日志系统也非常好用。

问题是它属于商业软件(对家庭和学校使用免费),公司里使用时会有版权顾虑。

(5)其他

其他软件包括:TeraTerm,RealTerm,Sourceforge.net上的众多串口软件,以及国产的各种串口软件等。

值得一提是:DockLight,这个串口软件非常好用,免费使用没有功能限制,但是不能保存配置和进行搜索,我曾经在一个串口项目中重度使用了它,只是价格太贵了,目前售价59欧(~560RMB)。

 

(完)