Linux上的串口软件

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

(完)