c++ - Qt - ubuntu 中的串口名称

标签 c++ qt ubuntu serial-port qtserialport

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

serial->setPortName("com3");

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

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

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

cat /dev/ttyACM0

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

最佳答案

为了获得普通用户的权限,请将您的系统管理员添加到负责串口的组,例如通过 usb 模拟的串口。

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

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/

相关文章:

c++ - QTableWidget 随机加载效率低下 - C++

c++ - 是否可以在不同线程上使用 std::deque::push_back() 和 std::deque::front()/std::deque::pop_front() 而不同步?

c++ - QWebPage段错误

python - PyAudio 找不到任何输出设备

wordpress - session 已过期,请重新登录

c++ - 方法链 + 继承不能很好地结合在一起?

c++ - qtextedit - 调整大小以适应

c++ - 更改包含 QButtons 的 Qlayout 的背景颜色

linux - 运行 sudo apt-get update 时出错

C++ 初学者 : using namespace error