Я могу изменить и убрать эти вычисления о ктр вы говорите и сделать все в дефайн, но тогда нужно будет каждый…
Я понял, просто я хотел максимально автоматизировать работу чтобы в define менять как можно меньше переменных,…
Encoder.c Line 14 in f3ee7efb61
PIND_SHIFT_1 = 0;Вместо портянки с…
Да в эмуляторе пробовал все работает, нужно только указать значения пинов в самом начале и все, все комбинац…
Понял, в таком случае я автоматизирую полностью, то что я написал и после загружу обновленную версию кода в…
На этот случай тоже есть возможность реализации, можно сделать такое же смещение в зависимости от контакто…
Результатами очной встречи стали доработки по энкодера, нужно будет переписать старый код, чтобы next_state…
Он будет нам очень быстро возвращать значение state, но так как у нас ENC_CLK подключен к земле все время, то…
понятно, прошу прощения что сам вопрос не так понял
А если говорить про конкретное время работы программы одного цикла, то это нужно засекать, либо в атмеле…
Мы в Мэйне вызываем функцию энкодера в loop, то есть постоянно, если значение энкодера не менялось то он…
Это если энкодер заменить на две кнопки
На кнопках тоже работает корректно
Если нужно могу приложить скриншоты работы из wokwi и живой сборки
Ой не кнопка, используется инкрементальный энкодер KY-040, просто в симуляторе на wokwi для прокрута нужно…
Контакты ктр подключены к ардуино мы заранее определяем, в самом начале программы а затем снимаем с них…
Старый код: #include <avr/interrupt.h> #include <avr/io.h> /* Дефайны / #define F_CPU 1000000UL #define PIND_MASK 0b00001100 / Переменные */ volatile…
В старой версии так же отсутствовали эти контакты, а значение state так же увеличивалось либо уменьшалось в…