LinkLib例子之十二:Hi3531D 电源管理之上电待机例子

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45326556/article/details/94559691

Hi3531D 电源管理之上电待机例子

PowerCtrl简介

该示例程序演示了如何使用电源管理接口。

准备工作

  • 参照用户手册搭建开发环境、编译3531D工程、配置网络启动参数。
  • 上电,进入/root/demo目录
  • 默认状态下,上电后直接启动,绿灯亮起
  • 运行PowerCtrl程序
  • 长按poweron按键,程序响应按键事件,调用poweroff接口,系统断电,红灯亮起
  • 再次长按poweron按键,系统启动,红灯熄灭,绿灯亮起
  • 断开电源
  • 上电,此时系统进入standby模式,红灯亮起
  • 长按poweron按键,系统启动,红灯熄灭,绿灯亮起

运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

源程序

完整工程参见:https://gitee.com/LinkPi/3531D/tree/master/PowerCtrl

//main.cpp
#include <QCoreApplication>
#include "Link.h"
#include "Worker.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    Link::init();

    Worker w;

    return a.exec();
}

//Worker.cpp
#include "Worker.h"

Worker::Worker(QObject *parent) : QObject(parent)
{
    dev=Link::create("Device");
    dev->start();
    connect(dev,SIGNAL(newEvent(QString,QVariant)),this,SLOT(onEvent(QString,QVariant)));
    dev->invoke("setBootMode","standby");
}

void Worker::onEvent(QString type, QVariant msg)
{
    if(type=="keyPress" && msg.toString()=="power")
    {
        dev->invoke("poweroff");
    }
}

参考模块

Device

猜你喜欢

转载自blog.csdn.net/weixin_45326556/article/details/94559691