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

carlbeven 发表于 2020-4-11 00:40

请教一下Blinker_Tab如何实现独立选项卡

我想尝试使用选项卡进行灯光效果单项选择,琢磨了挺久还是没弄明白,请教大佬!

下面时关键部分:
///////////////////////////////////

void tab_clear()
{
tab = false;
tab = false;
tab = false;
tab = false;
tab = 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 == true)
      {
      tab_clear();
      }
      else
      {
      tab_clear();
      tab = true;
      TAB1.tab(0);
      openState = 0;
      }
      BLINKER_LOG("日光");
      //模式0
      TEXT1.print("日光模式");
      // digitalWrite(LED_BUILTIN, LOW);
      break;

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

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

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

      break;
    case BLINKER_CMD_TAB_4:
      if (tab == true)
      {
      tab_clear();
      }
      else
      {
      tab_clear();
      tab = 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()。。。。。省略





liyuanping 发表于 2020-6-7 10:02

此函数void tab_callback(uint8_t tab_set),它是按tab_set的个数执行多次的,不要理解成当前改变一次执行。
页: [1]
查看完整版本: 请教一下Blinker_Tab如何实现独立选项卡