knifeshui 发表于 2019-9-3 11:32:24

QCC3020要怎么修改才能改成长按2秒开机

如题,现在是短按一下就开机了。要怎么改才能改成长按开机??????
我用的是earbud工程,代码要怎么改才行

zxh_love_zqf 发表于 2019-9-3 18:30:27

初始化的时候做个判断,就卡在UI初始化之后。长按2秒的message 里面判断将标志位改变,再调用 appInitNextEntry() 函数进行初始化

打酱油不带壶 发表于 2019-9-3 21:41:16

楼上的思路和我差不多,注意要做防抖哦:lol

忙忙碌碌 发表于 2019-9-5 13:55:53

谢谢楼主分享,学习了

天下无双 发表于 2019-9-5 18:45:41

我也想知道,怎么改,有没方法了,大佬

天下无双 发表于 2019-9-6 11:10:55

顶一下
:lol:lol:lol

bluetoothsky 发表于 2020-1-18 22:56:05

BC5也想知道怎么改 现在短按一下就开机了

liuliu3 发表于 2020-1-30 16:16:57

我也想知道,谢谢分享

twspro 发表于 2020-2-8 12:33:25

主要是状态机处理,满足开机条件(长按2S开机,退出充电模式等),就可以开机,其他的不去开机即可。

大哥救救我 发表于 2020-6-28 20:16:31

zxh_xw 发表于 2019-9-3 18:30
初始化的时候做个判断,就卡在UI初始化之后。长按2秒的message 里面判断将标志位改变,再调用 appInitNextE ...

请问大佬这个判断条件如何添加的呢
static void appInitNextEntry(void)
{
    initData *theInit = appGetInit();

    /* Move to next entry */
    theInit->init_index += 1;

    while (appInitTable.init)
    {
      /* Call init function */
      appInitTable.init();
      theInit->id = appInitTable.message_id;
      if (theInit->id)
            return;

      /* Move to next entry */
      theInit->init_index += 1;
    }

    MessageSend(appGetAppTask(), INIT_CFM, NULL);

    theInit->initialised = APP_INIT_COMPLETED_MAGIC;
}

void appInit(void)
{   
    initData *theInit = appGetInit();
    theInit->init_index = 0xFF;
    theInit->id = 0;

    appInitNextEntry();
}
页: [1] 2
查看完整版本: QCC3020要怎么修改才能改成长按2秒开机