我在 Ubuntu 上查找串行端口名称时遇到问题。如您所知,要在 Windows 上读取串口,我们可以使用以下代码:
serial->setPortName("com3");
但是当我在 Ubuntu 上编译这段代码时,我不能使用这段代码:
serial->setPortName("/dev/ttyACM0");
我知道我的串行端口名称是 ttyACM0,我可以通过发出以下命令读取它上的数据:
cat /dev/ttyACM0
但是为什么我不能在我的代码中使用这个名字呢?我该怎么办?
最佳答案
为了获得普通用户的权限,请将您的系统管理员添加到负责串口的组,例如通过 usb 模拟的串口。
它是tty
、uucp
或其他。它因发行版而异,但您可以通过运行以下命令轻松检查:
ls -l /dev/ttyACM0
然后检查组列并让系统管理员执行此操作:
sudo usermod -a -G group username
请不要通过向其他人授予全局写入访问权限来引入安全漏洞,如下所示:
sudo chmod 666 /dev/ttyACM0
关于c++ - Qt - ubuntu 中的串口名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26314120/