подскажите пожалуйста как сделать сохранение настроек, хочу сделать подобное: если при включении питания ардуино была установлена перемычка на определенных ногах — вызвать функцию с сохранением настроек в еепром

Комментарии: 8

  1. Vasil

    В setup?

    • Denis

      if ( btn1.click ())ProgramMode(); в сетап сделал так, но выполняется весь остальной код, несмотря на то, что перемычку замкнул

      • Vasil

        Ну а не должен был? У тебя функция не должна завершаться тогда, чтобы он дальше не шёл.

        • Denis

          я планировал, что я сначала сохраню настройки, а потом перезагружу и будет работать весь код

          • Vasil

            Ну делай бесконечный цикл/зови собачку.

            • Denis

              собачку? что это

              • Vasil

                watchdog. Ну или дёргай ногу ресета

                • Denis

                  void ProgramMode() { for (int i = 0; i < -1; i=1) { if ( btn2.click ()) { Serial.print("ProgMode"); } } } void setup() { // инициализируем работу Serial-порта Serial.begin(9600); if ( btn1.click ())ProgramMode(); сделал так для проверки, не работает class button { public: button (byte pin) { _pin = pin; pinMode(_pin, INPUT_PULLUP); } bool click() { bool btnState = digitalRead(_pin); if (!btnState && !_flag && millis() - _tmr >= 100) { _flag = true; _tmr = millis(); return true; } if (!btnState && _flag && millis() - _tmr >= 500) { _tmr = millis (); return true; } if (btnState && _flag) { _flag = false; _tmr = millis(); } return false; } private: byte _pin; uint32_t _tmr; bool _flag; }; замыкаю перемычку и кнопку на землю

Не нашли ответ?

Вам также может быть интересно