ubuntu系统中的串口使用方法

本文介绍了在Ubuntu系统中正确打开串口使用权限的方法,包括加入dialout组,查看设备串口号,重启系统以及验证串口是否可用的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)、打开当前用户的串口使用权限

ubuntu系统中的串口使用权限并没有对所有的用户进行开放,所以在使用代码对串口进行操作时,需要打开用户对串口的使用权限,否则在代码中会出现“串口无法打开的报错”,只有在加sudo时才能正常运行。
ttyS设备的用户主是root,所属组是dialout;而ubuntu安装时,默认使用的账户并没有加入到dialout组中,因此需要将用户加入到dialout组中,才能操作ttyS设备。
step1: 查看当前用户是属于哪些组,组中是否有dialout
命令:

groups user_name

例如:

groups zxf
    zxf : zxf adm cdrom sudo dip plugdev lpadmin lxd sambashare  #无dialout

step2: 将当前用户加入到dialout组中
命令:

sudo usermod -a -G dialout user_name

例如:

sudo usermod -a -G dialout zxf

step3: 查看是否添加成功,按照step1的方法

除了以上使用用户账号权限进行,也可以使用root账号权限进行直接操作,默认root用户在dialout组中

2)、查看当前插入的设备使用的串口名

ubuntu中支持多个串口操作,可以通过设备插拔来发现当前的设备使用的串口名
step1: 设备插入后,输入如下命令,查看当前使用的所有串口名
命令:

ls /dev/tty*

例如:

ls /dev/tty*
/dev/tty    /dev/tty17  /dev/tty26  /dev/tty35  /dev/tty44  /dev/tty53  /dev/tty62      /dev/ttyS11  /dev/ttyS20  /dev/ttyS3
/dev/tty0   /dev/tty18  /dev/tty27  /dev/tty36  /dev/tty45  /dev/tty54  /dev/tty63      /dev/ttyS12  /dev/ttyS21  /dev/ttyS30
/dev/tty1   /dev/tty19  /dev/tty28  /dev/tty37  /dev/tty46  /dev/tty55  /dev/tty7       /dev/ttyS13  /dev/ttyS22  /dev/ttyS31
/dev/tty10  /dev/tty2   /dev/tty29  /dev/tty38  /dev/tty47  /dev/tty56  /dev/tty8       /dev/ttyS14  /dev/ttyS23  /dev/ttyS4
/dev/tty11  /dev/tty20  /dev/tty3   /dev/tty39  /dev/tty48  /dev/tty57  /dev/tty9       /dev/ttyS15  /dev/ttyS24  /dev/ttyS5
/dev/tty12  /dev/tty21  /dev/tty30  /dev/tty4   /dev/tty49  /dev/tty58  /dev/ttyACM0    /dev/ttyS16  /dev/ttyS25  /dev/ttyS6
/dev/tty13  /dev/tty22  /dev/tty31  /dev/tty40  /dev/tty5   /dev/tty59  /dev/ttyprintk  /dev/ttyS17  /dev/ttyS26  /dev/ttyS7
/dev/tty14  /dev/tty23  /dev/tty32  /dev/tty41  /dev/tty50  /dev/tty6   /dev/ttyS0      /dev/ttyS18  /dev/ttyS27  /dev/ttyS8
/dev/tty15  /dev/tty24  /dev/tty33  /dev/tty42  /dev/tty51  /dev/tty60  /dev/ttyS1      /dev/ttyS19  /dev/ttyS28  /dev/ttyS9
/dev/tty16  /dev/tty25  /dev/tty34  /dev/tty43  /dev/tty52  /dev/tty61  /dev/ttyS10     /dev/ttyS2   /dev/ttyS29

step2: 设备拔出后,输入如下命令,查看当前使用的所有串口名
命令:

ls /dev/tty*

例如:

ls /dev/tty*
/dev/tty    /dev/tty17  /dev/tty26  /dev/tty35  /dev/tty44  /dev/tty53  /dev/tty62      /dev/ttyS12  /dev/ttyS21  /dev/ttyS30
/dev/tty0   /dev/tty18  /dev/tty27  /dev/tty36  /dev/tty45  /dev/tty54  /dev/tty63      /dev/ttyS13  /dev/ttyS22  /dev/ttyS31
/dev/tty1   /dev/tty19  /dev/tty28  /dev/tty37  /dev/tty46  /dev/tty55  /dev/tty7       /dev/ttyS14  /dev/ttyS23  /dev/ttyS4
/dev/tty10  /dev/tty2   /dev/tty29  /dev/tty38  /dev/tty47  /dev/tty56  /dev/tty8       /dev/ttyS15  /dev/ttyS24  /dev/ttyS5
/dev/tty11  /dev/tty20  /dev/tty3   /dev/tty39  /dev/tty48  /dev/tty57  /dev/tty9       /dev/ttyS16  /dev/ttyS25  /dev/ttyS6
/dev/tty12  /dev/tty21  /dev/tty30  /dev/tty4   /dev/tty49  /dev/tty58  /dev/ttyprintk  /dev/ttyS17  /dev/ttyS26  /dev/ttyS7
/dev/tty13  /dev/tty22  /dev/tty31  /dev/tty40  /dev/tty5   /dev/tty59  /dev/ttyS0      /dev/ttyS18  /dev/ttyS27  /dev/ttyS8
/dev/tty14  /dev/tty23  /dev/tty32  /dev/tty41  /dev/tty50  /dev/tty6   /dev/ttyS1      /dev/ttyS19  /dev/ttyS28  /dev/ttyS9
/dev/tty15  /dev/tty24  /dev/tty33  /dev/tty42  /dev/tty51  /dev/tty60  /dev/ttyS10     /dev/ttyS2   /dev/ttyS29
/dev/tty16  /dev/tty25  /dev/tty34  /dev/tty43  /dev/tty52  /dev/tty61  /dev/ttyS11     /dev/ttyS20  /dev/ttyS3

通过两次插拔后可以发现,该设备使用的串口名为“/dev/ttyACM0”

3)、 重启系统

命令:

reboot

4)、 验证相应的串口是否可以使用

step1: 使用stty工具
命令:

sudo stty -F /dev/ttyACM0 9600 cs8 -cstopb -parity

step2: 查看串口返回数据,输出可能有也可能长时间后才有
命令:

sudo cat /dev/ttyACM0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值