请教一下Blinker_Tab如何实现独立选项卡-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2635|回复: 1

[求助] 请教一下Blinker_Tab如何实现独立选项卡

[复制链接]
发表于 2020-4-11 00:40 | 显示全部楼层 |阅读模式
我想尝试使用选项卡进行灯光效果单项选择,琢磨了挺久还是没弄明白,请教大佬!

[mw_shl_code=arduino,true]下面时关键部分:
///////////////////////////////////

void tab_clear()
{
  tab[0] = false;
  tab[1] = false;
  tab[2] = false;
  tab[3] = false;
  tab[4] = false;
  TAB1.print();
}
/*******************************************************/
/*******************************************************/
////////////////////////////////////////////选项卡
void tab_callback(uint8_t tab_set)
{
  digitalWrite(LED_BUILTIN, LOW);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(30);
  digitalWrite(LED_BUILTIN, LOW);
  BLINKER_LOG("选项卡编号: ", tab_set);
  Serial.println("===============================");
  switch (tab_set)
  {
    case BLINKER_CMD_TAB_0:
      if (tab[0] == true)
      {
        tab_clear();
      }
      else
      {
        tab_clear();
        tab[0] = true;
        TAB1.tab(0);
        openState = 0;
      }
      BLINKER_LOG("日光");
      //模式0
      TEXT1.print("日光模式");
      // digitalWrite(LED_BUILTIN, LOW);
      break;

    case BLINKER_CMD_TAB_1:
      if (tab[1] == true)
      {
        tab_clear();
      }
      else
      {
        tab_clear();
        tab[1] = true;
        TAB1.tab(1);
        openState = 1;
      }
      BLINKER_LOG("月光");
      //模式1
      TEXT1.print("月光模式");
      //   digitalWrite(LED_BUILTIN, HIGH);
      break;

    case BLINKER_CMD_TAB_2:
      if (tab[2] == true)
      {
        tab_clear();
      }
      else
      {
        tab_clear();
        tab[2] = true;
        TAB1.tab(2);
        openState = 2;
      }
      BLINKER_LOG("彩光");
      //模式2
      TEXT1.print("彩光模式");
      break;

    case BLINKER_CMD_TAB_3:
      if (tab[3] == true)
      {
        tab_clear();
      }
      else
      {
        tab_clear();
        tab[3] = true;
        TAB1.tab(3);
        openState = 3;
      }
      BLINKER_LOG("温馨");
      //模式3
      TEXT1.print("温馨模式");

      break;
    case BLINKER_CMD_TAB_4:
      if (tab[4] == true)
      {
        tab_clear();
      }
      else
      {
        tab_clear();
        tab[4] = true;
        TAB1.tab(4);
        openState = 4;
      }
      BLINKER_LOG("电脑");
      //模式4
      TEXT1.print("电脑模式");
      break;
    default:
      tab_clear();
      wsState = false;
      openState = 9;
      break;
  }
}





void tab_feedback()
{
  TAB1.print();
}


。。。。setup()。。。。。省略

[/mw_shl_code]



发表于 2020-6-7 10:02 来自手机 | 显示全部楼层
此函数void tab_callback(uint8_t tab_set),它是按tab_set的个数执行多次的,不要理解成当前改变一次执行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 09:34 , Processed in 0.172783 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表