在Linux如Ubuntu下操作串口是嵌入式开发者需要掌握的一项技能,本文介绍Ubuntu串口的操作(查看串口信息、串口助手、串口权限),希望对大家有所帮助。

Ubuntu关于串口的操作(查看串口信息、串口助手、串口权限)

一、查看本机串口信息

1. 串口是否在使用

串口在 /dev 目录中,查看串口是否在使用,可以用命令

 ls -l /dev/ttyUSB0

说明:
ls -l:是查看目录的命令,直接用ls或ll也可以。
ttyUSB0:是串口名,一般都是tty开头,根据连接设备不同,有的串口名为 ttyS0 ,有的为ttyACM0,后面的0是串口号,按照你的需要改。

结果:
如果在使用会显示串口文件信息
没有使用会显示 “ls: 无法访问’/dev/ttyUSB0’: 没有那个文件或目录”
在这里插入图片描述

2. 查看串口设备
dmesg | grep ttyUSB0

在这里插入图片描述

二、串口调试软件

Windows下的串口调试软件有好多,Linux下资源相对较少,不过也有那么几个好用的。

1. minicom

听说它功能很强大,但它没有UI界面,开始用还不太顺手。
安装:

sudo apt install minicom

具体用法还不太熟练,以后再补吧。
上个图:
在这里插入图片描述

2. CuteCom

这个就友好点,有界面了。和Windows的差不多,可以选择串口,设置波特率、数据位、停止位等。
中间是接收窗口,下面是发送窗口。
安装:

# 安装
sudo apt install cutecom 
# 启动
sudo cutecom

来张图:
在这里插入图片描述

3. COMTool

这个是在github上找到的,由Neucrack Neutree开发,用python3开发,这里要注意,你电脑没有Python3是不能运行的。值得注意的是,它支持跨平台,linux、windows、mac都可以用。
github链接
github有各平台的安装及使用教程。
在这里插入图片描述

三、串口权限问题

Linux串口是默认普通用户没有读写权限的,每次开机后对串口读写都要附加权限

sudo chmod 666 /dev/ttyUSB0

但对于需要开机自动运行的程序就很麻烦了,所以可以设置永久加权

  1. 打开下面的文件
    远程的话要把gedit换成vi或nano等。
    这个文件本来是不存在的,只不过编辑器打开不存在的文件会自动创建。
    70-usb-serial.rules文件名可以自定义,但必须以.rules结尾。
sudo gedit /etc/udev/rules.d/70-usb-serial.rules
  1. 在文件中添加如下内容
    ttyUSB*表示所有这一格式的串口名,如果你的是ttyS*或其它,按需改。
    0666表示加权模式,和chmod后面的参数一致,写成666也可以。
    vibot_base是我自定义的串口名,就是为ttyUSB*创建一个超链接 ,如下图。如果你不需要,可以去掉最后一项。
KERNEL=="ttyUSB*", MODE="0666", SYMLINK+="vibot_base"

在这里插入图片描述

  1. 重启电脑
    重启电脑使修改生效。

ubuntu 中查看串口信息

提示Permission denied,就是需要转换为超级用户打开

sudo su
或者 采用sudo前缀

1.使用ls -l ttyS命令显示如下
crw-rw----. 1 root dialout 4, 64 5月 17 02:24 /dev/ttyS0
crw-rw----. 1 root dialout 4, 65 5月 17 02:24 /dev/ttyS1
crw-rw----. 1 root dialout 4, 66 5月 17 02:24 /dev/ttyS2
crw-rw----. 1 root dialout 4, 67 5月 17 02:24 /dev/ttyS3
但你不知到哪个是真实的串口,虽然一般都是ttyS0,但也不敢妄然确定。
2.使用cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:unknown port:000002F8 irq:3
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3
我们发现串口0的uart值时16550A,tx值为0,rx值也为0,因此我们断定本机只有一个串口,是串口0,即ttyS0
3.也可以用dmesg | grep ttyS
,但这个不是很好用,当然你可以自己使用正则法则取找到。
注意:还应查看是否有USB转串口,这个就很简单了:ls ttyUSB*,全部搞定。

另外 Ubuntu下串口调试工具 可以安装 cutecom。

在linux中查看串口连接情况分两种情况

一、usb转rs232串口线连接pc

使用命令: ls -l /dev/ttyUSB* 来查看相关的信息。

二、rs232串口线直连pc

普通的串口设备使用 ls -l /dev/ttyS* 查看。

以上为在Linux如Ubuntu下操作串口的一些信息,具体为Ubuntu串口的操作(查看串口信息、串口助手、串口权限)。

参考:

https://blog.csdn.net/maizousidemao/article/details/103236666
https://blog.csdn.net/dzjoke/article/details/88286990
https://blog.csdn.net/zhongdajiajiao/article/details/52023908