Ingwar, вопрос не совсем корректный.
Данный код у Вас входит в состав функции по прерыванию. Это раз.
Второе. digitalRead для AVR достаточно длительная операция с проверками. А их целых две в функции. (не смотрел что там в ESP)
Я же говорил, попробуй впихнуть в проект (для AVR) вместе с энкодером мой блок оптимизации. Может быть поможет.
Третье. Зачем проверять пин на котором произошло прерывание? По прерыванию уже понятно в каком он состоянии. Надо проверить только второй пин.
Ну и последнее. Счетчик то вероятно и будет с оптимизацией работать, а вот выходы Up Down (ну или как они там у Вас). Не смогут корректно отработать тики, т.к. они вообще находятся в Loop. И требуется код, который завязан на счетчик, а не на прерывания. До этого момента я довольно долго доходил в свое время.
Отправлено спустя 57 секунд:
ecoins писал(а): ↑10.03.2023{, 12:31}
И не стоит избегать фигурных скобок (строки 3,4,8).
А в чем проблема? Если не секрет.
Отправлено спустя 56 минут 37 секунд:
Dryundel писал(а): ↑10.03.2023{, 12:54}
А в чем проблема? Если не секрет.
В чем проблема, браток?
А в ответ тишина.
Не спешит брат делиться секретами.