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
(完)