这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » AIO-3399-JD4QT操作LEDQfile权限不够请问是什么问题呢

共2条 1/1 1 跳转至

AIO-3399-JD4QT操作LEDQfile权限不够请问是什么问题呢

工程师
2023-09-07 15:47:11     打赏

1.jpg

问题描述及复现步骤:

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没有用

请问是什么问题呢





关键词: AIO-3399-JD4     QT     Qfile    

助工
2023-09-07 15:47:37     打赏
2楼

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

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


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]