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

serial->setPortName("com3");

但是当我在Ubuntu上编译此代码时,无法使用此代码:
serial->setPortName("/dev/ttyACM0");

我知道我的串口名称是ttyACM0,我可以通过发出以下命令来读取数据:
cat /dev/ttyACM0

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

最佳答案

为了获得普通用户的许可,请让您的sysadmin添加到负责串行端口(如通过USB仿真)的组。

它可以是ttyuucp或其他名称。它随发行版的不同而不同,但是您可以通过运行以下命令轻松地检查它:

ls -l /dev/ttyACM0

然后检查组列,并让sysadmin执行此操作:
sudo usermod -a -G group username

而不是通过向其他人授予全局写访问权限来引入安全漏洞:
sudo chmod 666 /dev/ttyACM0

关于c++ - Qt-Ubuntu中的串行端口名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26314120/

10-09 19:52