В данном видео мы подключим к stm32f103c8t6 энкодер, настроим в CubeMX RTC и энкодер. Напишем тестовую программу создающую несложное меню позволяющее устанавливать текущее время.
Никак не могу понять, почему подключая энкодер к таймеру никто не меняет фронт срабатывания на падающий и все оставляют Rising Edge. Ведь лапки энкодера по умолчанию подтянуты к плюсу. Основной дребезг энкодера происходит в момент замыкания контактов, а не размыкания.Также я бы добавил бы фильтрацию на 15 на каждом входе. Работать будет на порядок стабильнее. Отличное видео!
меня вопрос к автору.Как сделать так. Чтоб энкодер в разных подразделах меню настраивал разные переменные?А то по кнопке у меня получается.Или же энкодер программный использовать?
В отправленном исходнике есть небольшие отличия от видео. Обработка энкодера перенесена в функцию прерывания SysTick из соображений более четкого считывания формируемого импульса.
Если вы о проверке инициализации часов, то в части кода инициализации RTC добавлены строки записи признака инициализации в ячейку Back Up памяти, естественно надо на первую ногу контроллера подкидывать 3.3 в от батарейки. Тогда при отключении питания и перезагрузке часы продолжают отсчитывать время и повторная инициализация не происходит.
@@Diger67 Код мне до конца не понятен.Но смысл понятен.Почему например в регистре счётном вы выставляете ARR=1 а если 100.То ваша программа не годится.