尝试读取串行端口、设备或资源正忙

ecl*_*ier 5 linux usb serial-port

我正在尝试从 GPS 模块读取数据。它使用 TTL 通信,我有一个适配器将其转换为连接到我的计算机的 USB。

我可以使用 cgps 从中获取数据,但我需要与它进行更多基础级别的通信。

当我尝试时

gpscat -s 9600 /dev/ttyUSB0

我明白了

OSError: [Errno 16] Device or resource busy: '/dev/ttyUSB0'

我已经尝试过lsof,,,,,,但我无法弄清楚是什么正在使用该端口,因此我无法阻止它fuserps -ef | grepps aux | grep

小智 5

有时仅仅这样lsof /dev/ttyUSB0做是不够的,您需要sudo lsof /dev/ttyUSB0查看哪个进程正在使用该文件/端口。

例如,lsof /dev/ttyUSB3我没有看到任何内容,但sudo lsof /dev/ttyUSB3显示 ModemManager 正在使用该端口:

在此输入图像描述


小智 3

您的用户名是否已在 daiout 组中(如果未运行)

sudo adduser $USER dialout
Run Code Online (Sandbox Code Playgroud)

尝试再次运行你的命令,据我所知这应该有效。