Firefly开源社区

[技术讨论] QT 操作LED Qfile权限不够

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2022-11-16 18:18:39     
  • 固件类型: 官方提供的固件
  • 固件文件名称: OS: Ubuntu 18.04.6 LTS MODEL: AIO-3399-JD4
  • 固件下载地址: 123
  • Log日志: qt.rar
问题描述及复现步骤:
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
//    file.setFileName("/home/firefly/123");
    file.setFileName("/sys/class/leds/firefly:yellow:user/brightness");
//    system("echo none > /sys/class/leds/firefly:yellow:user/trigger");
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked(bool checked)
{
    qDebug()<<checked<<endl;
   if(!file.exists())
   {
       qDebug()<<"no led"<<endl;
       return ;
   }
    if(!file.open(QIODevice::WriteOnly))
      qDebug()<<file.errorString()<<endl;
    QByteArray buf[] = {"0","1"};

   if(checked)
   {

        ui->pushButton->setText("close");
         qDebug()<<"close"<<endl;
        file.write(buf[1]);
   }
   else
   {
        ui->pushButton->setText("open");
        qDebug()<<"open"<<endl;
        file.write(buf[0]);
   }
   file.close();

}


在终端上 打开文件提示permission denied  
尝试 chmod 777没有用
请问是什么问题呢

qt.rar

636.76 KB, 下载次数: 0, 下载积分: 灯泡 -1 , 经验 -1

回复

使用道具 举报

797

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
797
发表于 2022-11-17 09:19:33     
本帖最后由 dengkx 于 2022-11-17 09:23 编辑

更改为777之后,直接使用普通用户在终端输入:
$ echo 1 > /sys/class/leds/firefly\:yellow\:user/brightness
看一下能不能控制
回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2022-11-17 13:43:35     
dengkx 发表于 2022-11-17 09:19
更改为777之后,直接使用普通用户在终端输入:
$ echo 1 > /sys/class/leds/firefly\:yellow\:user/bright ...

可以的 终端可以控制 就是不能修改文件
回复

使用道具 举报

797

积分

0

威望

0

贡献

技术大神

Rank: 3Rank: 3

积分
797
发表于 2022-11-17 14:56:26     
wx__uZaz4G 发表于 2022-11-17 13:43
可以的 终端可以控制 就是不能修改文件

使用流看看?
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);
out << 1 << "\n";
回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2022-11-17 16:41:51     
dengkx 发表于 2022-11-17 14:56
使用流看看?
file.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream out(&file);

试试提示没有权限 permission denied  
回复

使用道具 举报

18

积分

0

威望

0

贡献

技术小白

积分
18
发表于 2022-11-17 16:45:43     
您好 我们有没有QT 操作硬件端口的历程啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表