3

我在 Ubuntu 上查找串行端口名称时遇到问题。如您所知,要在 Windows 上读取串口,我们可以使用以下代码,例如:

serial->setPortName("com3");

但是当我在 Ubuntu 上编译这段代码时,我不能使用这段代码:

serial->setPortName("/dev/ttyACM0");

我知道我的串行端口名称是 ttyACM0,我可以通过发出以下命令来读取其上的数据:

cat /dev/ttyACM0

但是为什么我不能在我的代码中使用这个名字呢?我应该怎么办?

4

2 回答 2

3

为了获得您的普通用户的许可,请将您的系统管理员添加到负责通过 USB 模拟的串行端口的组中。

它要么是ttyuucp要么是什么。它因发行版而异,但您可以通过运行以下命令轻松检查:

ls -l /dev/ttyACM0

然后检查组列并让系统管理员执行以下操作:

sudo usermod -a -G group username

请不要通过向其他人提供全局写入访问权限来引入安全漏洞,如下所示:

sudo chmod 666 /dev/ttyACM0
于 2014-12-29T08:23:41.573 回答
1

利用:

serial->setPortName("ttyACM0");
于 2014-10-11T14:40:23.870 回答