学习分享:Ubuntu 下使用 Qt 打开串口报错 Permission denied

这篇具有很好参考价值的文章主要介绍了学习分享:Ubuntu 下使用 Qt 打开串口报错 Permission denied。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Ubuntu 下使用 Qt 打开串口报错 Permission denied

错误描述

提前声明一下,开发环境是 Ubuntu18.04,用户是非 root 用户。

因项目需求,需要使用到 Qt 收发串口数据,曾经写过一个串口调试助手的程序 通俗易懂玩QT:串口调试助手制作(内附主要源代码) ,这里直接拷贝到 Ubuntu 虚拟机下使用,发现每次打开串口的时候都会发生错误,最开始的时候还不知道发生了什么错误,以为是需要在串口名前面添加 / ,但是后面发现加了 / 后,并没有成功打开串口,所以问题不在于 / ,然后在网上搜索了一下问题,QSerialPort 类有个 errorString() 函数成员, 可以打印开启串口失败的原因,用它打印了一下,加了 / 后的串口错误信息 No such file or directory ,然后把 / 去掉后,再次打印串口错误信息 Permission denied ,于是在网上去搜索了一番,有两种解决方案,一种是将当前的用户添加到串口所在的分组,再一种就是改变 udev 规则,使普通用户可以访问其他用户组下的内容,个人觉得后者安全系数会更高点,下面也是分享的后者。

解决方案

  1. 打开 udev 的配置目录
cd /etc/udev/rules.d
  1. 新建并编辑配置文件70-ttyusb.rules(名称可以自己自行定义,不过后缀必须是 .rulesMODE 的值可以是 0666 ,也可以是0777,个人觉得前者更安全可靠点)
sudo vim 70-ttyusb.rules
> KERNEL=="ttyUSB*", OWNER="root", GROUP="root", MODE="0666"
  1. 修改配置文件70-ttyusb.rules的权限为666(该步骤可省略)
sudo chmod 664 70-ttyusb.rules
  1. 重启udev服务
sudo /etc/init.d/udev restart
< [ ok ] Restarting udev (via systemctl): udev.service.
  1. 重新插拔串口即可(这一步很关键!!!)

学习分享,一起成长!以上为小编的经验分享,若存在不当之处,请批评指正!文章来源地址https://www.toymoban.com/news/detail-673883.html

到了这里,关于学习分享:Ubuntu 下使用 Qt 打开串口报错 Permission denied的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分享一款开源的QT的串口示波器

    分享一款开源的QT的串口示波器,完全开源,支持串口、TCP、波形显示、通信协议。 支持传统的串口调试助手的基本收发功能,同时可以刷新大量的数据而不卡顿 支持保存接收的数据 支持最大200条可编辑指令的设置,并用于多条发送 支持定时器发送 支持换行符替换时间戳功

    2024年02月07日
    浏览(35)
  • vs打开qt的ui文件,报错闪退+已解决

    触发行为: 使用vs打开项目,点击ui文件后,数秒后qt designer闪退  报错内容: 方法一:鼠标右击 在qt designer 打开后,闪退前,鼠标右击 方法二:打开qt designer ,打开最近窗口 扩展-qt-qt vs tools-launch qt designer    方法三:自定义打开方式  鼠标右击ui文件,选择打开方式,选

    2024年02月15日
    浏览(56)
  • Qt串口通信学习文档

    这是官方文档,我也在学习。  QSerialPort Class | Qt Serial Port 5.15.14 https://doc.qt.io/qt-5/qserialport.html

    2024年02月11日
    浏览(40)
  • Ubuntu: scp命令使用及Permission denied错误解决方案

    scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 Ubuntu 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp /Users/X.pem root@192.168.1.247:/usr/local/ssl 这是由于目标文件夹没有写入权限,需要在修改目标文件夹的写入权限 以Ubuntu服务器端文件夹/usr/local/ssl为例

    2024年02月13日
    浏览(61)
  • 小程序:使用获取手机号getPhoneNumber报错getPhoneNumber:fail no permission

    小程序中获取手机号的 API 官方文档 使用该 API 有前提是: 1、先调用 wx.login 接口 2、非个人开发者,且完成了认证的小程序开放(不包含海外主体) 正常情况下会弹框获取你的手机号 也就是该回调函数返回值为 e.detail.errMsg 为 getPhoneNumber:ok 但是我的返回值是: getPhoneNumber

    2024年02月11日
    浏览(62)
  • QT 使用串口

    目录 1.1.1  添加库,添加类 1.1.2 定义串口 1.1.3  搜索串口 1.1.4 设置和打开串口 1.1.5 读取数据 1.1.6 发送数据 1.1.7 关闭串口    1.1.1  添加库,添加类 首先,QT5 是自带 QSerialPort(Qt5 封装的串口类)这个类的,使用时需要在 pro 文件里面添加一行: 加入下面两个文件: QT5 中,

    2024年02月15日
    浏览(31)
  • 使用QT写个自用的串口助手

    遇到一个默认波特率1.5M的终端设备,看了下手上常用的串口助手竟然没有这个选项,所以干脆自己用QT手撕一个。 开发环境:QT 5.12.0 mingw64 一、创建工程 1、新建创建QMainWindow工程,基类可以选择QMainWindow也可以选择Qwiget,这个网上参考很多,自己搜哈。 2、工程我命名为UA

    2024年01月24日
    浏览(53)
  • 使用gitee上传代码报错:git@gitee.com: Permission denied (publickey),如何配置GitEE公钥

    git@gitee.com: Permission denied (publickey). Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists. Permission denied (publickey) 没有权限的publickey(公锁) ,出现这错误一般是以下两种原因: 客户端与服务端未生成 ssh key 客户端与服务端的ssh key不匹配 找到

    2024年02月05日
    浏览(64)
  • ubuntu打开citrix空间报错 you have not chosen trust ... SSL error 61【已解决】

    转载请标明出处: https://bigmaning.blog.csdn.net/article/details/131713633 本文出自:【BigManing的博客】 unbuntu 16.04 安装上Citrix ,打开报错 根据提示这个是由于缺少证书导致。 从stackoverflow中摘取到有用方案

    2024年02月16日
    浏览(44)
  • QT学习笔记(三)——vs2019+Qt实现打开影像并以鼠标为中心用滚轮控制图片缩放

    之前写了一个博客讲怎么显示一张影像,那个是基于Qpainter的 今天使用QLabel来显示影像,并且用鼠标滚轮控制缩放。 关于图像的打开和显示,主要参考这个博客 关于如何使图片自适应窗口与铺满窗口,可以参考这个博客。 这两个博客出自同一作者,都很详细。 其中按照第二

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包