// задать пин, к которому подсоединен светодиод
#ifdef LED_BUILTIN              // для плат Elbear/Start можно использовать встроенный светодиод
uint8_t ledPin = LED_BUILTIN;
#elif defined(ARDUINO_ELSOMIK)  // для плат Elsomik нужно задать вывод
uint8_t ledPin = P0_0;  
#else
uint8_t ledPin = 2;
#endif
// задать пины, к которым подсоединены кнопки
#if defined(ARDUINO_ELSOMIK) || defined(ARDUINO_START_MIK32_V1)
// для плат Elsomik и Start задать пины в формате порт_вывод
const int button1Pin = P0_2;  // кнопка №1
const int button2Pin = P0_3;  // кнопка №2
#else
// для плат Elbear задать номера цифровых выводов
const int button1Pin = 3;  // кнопка №1
const int button2Pin = 4;  // кнопка №2
#endif

// функция настройки запускается один раз при нажатии кнопки reset или подаче питания на плату
void setup() {
  // Установим пины кнопок как входы:
  pinMode(button1Pin, INPUT);
  pinMode(button2Pin, INPUT);

  // Установим пин светодиода как выход:
  pinMode(ledPin, OUTPUT);
}

// функция цикла выполняется снова и снова бесконечно
void loop() {
  int button1State, button2State;  // Переменные для сохранения состояния кнопок

  /*
   * Здесь мы читаем текущее состояние кнопок и помещаем их значение
   * в две переменные.
   */
  button1State = digitalRead(button1Pin);
  button2State = digitalRead(button2Pin);

  if (((button1State == LOW) || (button2State == LOW))  // Проверяем нажата ли только одна из кнопок
      && !((button1State == LOW) && (button2State == LOW))) {
    digitalWrite(ledPin, HIGH);  // Включаем светодиод
  } else                            // иначе
  {
    digitalWrite(ledPin, LOW);  // Выключаем светодиод
  }
}




