Спасибо! Я думаю попробовать вместо функции стоп ждать отпускания кнопки если отпущена то прибавить единицу А если нажата ждем секунду и увеличиваем скорость Должно наверное прокатить.
это не мои переменные а ваши ! в упрощенном варианте мой код выглядит так: Код (C++): if (!(PIND & (1<<upPin))){ if (!Click_One) { lastSwitchTime = millis() ; Click_One = true; p1++; } if ((millis() - lastSwitchTime)>=longTimeClick) p1++; } else Click_One = false; не должно быт р2 закрыта m ==2
А я и не говорил что это ваши переменные Я говорил что кода их переставляешь с одного места в другое меняется отработка кнопок то есть дребезг отключается и переменная начинает скакать. Поэтому и на параметр р2 тоже действовать начинал.
да согласен мой косяк забыл предупредить что бы вы значения bool buttonUpWas = true; bool buttonUpIs = digitalRead(upPin); оставили в своем коде как есть, я их объявил больше для наглядности