Организация выбора действия

Тема в разделе "Arduino & Shields", создана пользователем Максим B, 28 дек 2022.

  1. Максим B

    Максим B Гуру

    Всем привет, пытаюсь реализовать алгоритм:

    1. Нажал кнопку MODE (1 клик) - показать часы
    2. Удержал кнопку MODE - зайти в меню "выбора режимов" и показать режим "H1--"
    2.1 В режиме "H1--", нажать (1 клик) - показать "H2--", нажать (1 клик) - показать "H3--", нажать (1 клик) - показать "H4--"
    2.2 В режиме "H1--", удержать кнопку SET - показывается режим "H1--" , с мигающими "--"
    2.2.1 Если нажать UP или DOWN, то меняем значение "--" на "00", "01",...,"59". Еще раз удержание SET - фиксируем значение - выход в раздел 2.1
    2.3 В режиме "H2--", удержать кнопку SET - показывается режим "H2--" , с мигающими "--"
    2.3.1 Если нажать UP или DOWN, то меняем значение "--" на "00", "01",...,"59". Еще раз удержание SET - фиксируем значение - выход в раздел 2.1

    С одноуровневым меню все понятно:
    Код (Text):

    switch (numMenu) {
        case 0: display_digits_off(); break;
        case 1: mode_display_time();  break; // показать время
        case 2: mode_display_h1();  break; // меню таймер 1
      }
     
      if (butt1.isClick()) {numMenu = 1;} // меню 1 показать время на 500 мс.
      if (butt1.isHold())  {numMenu = 2;} // выбор меню таймер 1
     

    Как корректно реализовать заход в подменю 2.1??? Через флаги и IF? Через switch/case?

    Просто полно устройств с простым управлением, но не нашел в интернете как это все реализовано ((( Полный код мне не нужен, сам все делаю, просто так сказать указать направление. СПАСИБО
     
  2. Asper Daffy

    Asper Daffy Иксперд

    Как Вам удобнее. Можно через любое из перечисленного, а также через рекурсию и ещё через 100500 вариантов.
     
  3. parovoZZ

    parovoZZ Гуру