Подключение кнопок к микроконтроллеру STM32: устранение дребезга, автоповтор, буферизованный ввод
Вставка
- Опубліковано 27 тра 2022
- В этом видео расскажу о том, как грамотно подключить кнопки к микроконтроллеру STM32. Привожу свой модуль работы с кнопками. Возможности модуля:
- Поддержка до 32 кнопок, с учетом того, что на 1 кнопку выделяется 1 вывод микроконтроллера, настроенный на вход с подтяжкой по питанию.
- Доступна настройка фильтра устранения дребезга.
- Доступен буфер состояний кнопок с настраиваемой глубиной.
- Доступна настройка периодов задержки до первого автоповтора нажатия кнопок и последующих автоповторов.
- Доступно добавление кнопок для опроса посредством вызова соответствующей функции.
- Доступна установка статусов кнопки: "активна" - участвует в опросе, "пассивна" - не участвует в опросе.
- Доступен опрос статуса кнопки (активна либо пассивна).
Выводы микроконтроллера, к которым подключаются кнопки должны быть настроены, как входы с подтяжкой по питанию. Как вариант, с использованием внутренней подтяжки микроконтроллера pull-up, либо внешней через подтягивающий резистор, например, номиналом 10 кОм.
При нажатии кнопки должна осуществляется притяжка входа микроконтроллера к "земле" (GND).
Для работы модуля требуется 1 таймер с настроенным прерыванием по обновлению.
Путем несложной модификации модуль возможно использовать на любых микроконтроллерах, отвечающих минимальным требованиям.
Скачать проект из видео можно по ссылке:
github.com/vadrov/stm32-butto...
Поддержать канал:
donate.qiwi.com/payin/VadRov
yoomoney.ru/to/4100117522443917
Покупал на Алиэкспресс:
программатор ST-Link alii.pub/6fdujg
плата разработки stm32f401ccu6 alii.pub/6fdumy
плата разработки stm32f411ceu6 alii.pub/6fduop
аудио-ЦАП pcm5102a alii.pub/6fdurf
макетная плата alii.pub/6fduuq
провода для макетной платы alii.pub/6fduwo
3.2" дисплей с тачскрином ILI9341 spi alii.pub/6fdvcf
1.3" дисплей ST7789 spi alii.pub/6fdvks
модуль микро SD карты alii.pub/6fdvoh
#stm32
#buttons
#программирование
Проект из видео на гитхабе:
Крепко вы прошлись по демонстрации возможностей работы с этим мк...! ;)
Спасибо, очень достойный алгоритм! Позволю себе пару предложений к усовершенствованию. Иногда на одну физическую кнопку целесообразно вешать две функции. Одна срабатывает при коротком одиночном нажатии по отжатию кнопки (как пример кнопки мышки). Вторая функция - при длительном удержании кнопки. Этот алгоритм позволяет упростить конечное устройство.
Класс виде подписка и лайкосик
Спасибо 👍👍👍👍
Не давно обнаружил в телике кнопку для управления, до этого только пультом пользовались не было необходимости . Карл 1 кнопка на весь телик. Кнопка которая не фига не джойстик, хоть в другом телике джойстик под кнопку замаскирован, но джойстик, который по факту 4-5 кнопок Переключение каналов, звук больше меньше, меню и настройка осуществляется 1короткое ВВЕРХ 2коротких ВНИЗ 1длинный ВЫБОР. При необходимости можно еще всякий функционал навешать разных комбинаций нажатий.
Stm32f401 прога не ругается на не подлиность клонов с Алишки и как у Вас все функции заявленные по даташнику работают?
Что делать с шумами на пине во время спада или нарастания импульса ?
Только не 5 вольт ,а до 3.3в.