我在Ubuntu上找到串行端口名称时遇到问题。如您所知,为了在Windows上读取串行端口,我们可以使用以下代码作为示例:
serial->setPortName("com3");
但是当我在Ubuntu上编译此代码时,无法使用此代码:
serial->setPortName("/dev/ttyACM0");
我知道我的串口名称是ttyACM0,我可以通过发出以下命令来读取数据:
cat /dev/ttyACM0
但是为什么我不能在代码中使用这个名字?我该怎么办?
最佳答案
为了获得普通用户的许可,请让您的sysadmin添加到负责串行端口(如通过USB仿真)的组。
它可以是tty
,uucp
或其他名称。它随发行版的不同而不同,但是您可以通过运行以下命令轻松地检查它:
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/