Рубрика «программирование микроконтроллеров» - 7

Неблокирующая обработка тактовой кнопки для Arduino. Как использовать прерывание таймера «в два клика» в стиле ардуино - 1

В своей прошлой статье я писал про блокирующие способы обработки кнопки. Реакция была, наверное, больше положительная, чем отрицательная. Хотя минусов мне поднасовали… Но, тем не менее, я решил продолжить. И в этой статье я хочу поделиться с вами своим опытом по неблокирующей обработке кнопок на Arduino. Напишем несложную библиотеку в стиле Си. Но, боюсь, что закрыть свой гештальт этой статьей тоже не получится…

Чтобы сохранить общую концепцию, пришлось разобраться с обработкой прерываний таймеров-счетчиков в стиле Arduino. Если вы не сталкивались с этим, и работаете напрямую с регистрами, рекомендую посмотреть, как это выглядит. HAL-драйвер для STM32 в этом плане нервно курит в сторонке.

Заранее предупреждаю, что материал рассчитан для начинающих. Но комментарии от бывалых программистов микроконтроллеров только приветствуются. Читать полностью »

image

В одной из своих прошлых статей я писал про подключение тактовой тактильной кнопки. И, казалось бы, такой простой вопрос, вызвал «бурю» в комментариях. Публика разделилась на два лагеря: на тех, кто все знает, но обычно молчит; и тех, кто не знает, и стесняется спросить. А я так и не понял, к какому лагерю отношусь!

Поиски в интернете по запросу «программирование кнопки для Arduino» выдает весьма противоречивый контент. Где-то код очень крутой, но из-за скудного описания не понятный. А где-то код очень простой, и от того не понятно, что с ним можно делать.

В общем, так бывает достаточно часто, когда простые (может даже и примитивные) задачи на просторах интернетов освещены поверхностно. И это вполне закономерно. Те, кто только начинает что-то изучать, с радостью делятся новыми знаниями. Кем-то движет гордость за свои достижения, а у кого-то просто язык чешется. Но как только человек поднаторел в вопросе, груз профессионализма не позволяет ему писать про такие мелочи. Или нет на это свободного времени, или приходит чувство самодостаточности.

Вот я и решил собраться с мыслями и обобщить свой опыт программирования обработчика кнопки для Arduino. Если вам интересно пополнить/проверить свои знания в данном вопросе, ну или проверить мои знания, то приглашаю под кат.

Дисклеймер. Текст рассчитан на публику, которая только начинает познавать азы программирования контроллеров Arduino. Запрещено к просмотру людям с ослабленной психикой или психикой с долголетней инженерной выдержкой и беременным женщинам (это так, на всякий случай, а то мало ли… британские ученые пока до исследований на эту тему не добрались). Материал предназначен исключительно для просмотра лицам, не достигшим 21 года.Читать полностью »

Возможности современного клавиатуростроения (программные) - 1

В предыдущей статье были обозначены недостатки стандартной клавиатуры, из-за которых работа на ней может быть не удобна, медленна и вредна для здоровья рук.

Читать полностью »

Приветствую всех!

О том, что магнитные карты совсем скоро навсегда уйдут в историю, говорят уже не первый год. Тем не менее, хоть они и постепенно вытесняются другими технологиями (например, RFID, ISO7816), окончательно исчезать они пока даже не собираются.

Считываем и эмулируем карты с магнитной полосой - 1

Итак, в данной статье поговорим о том, как работает запись данных на карты с магнитной полосой, разберёмся, в каком формате хранится там информация, узнаем, как устроены считыватель и энкодер и, конечно же, ещё много чего интересного.
Читать полностью »

Игровые приставки Pong (или как их еще называют Pong-типа) стали одним из первых видов домашних развлечений для детей  и взрослых. Еще до появления Atari 2600, NES и других приставок, можно было подключить к телевизору «коробочку» с джойстиками и поиграть с другом или одному в простую, но достаточно увлекательную игру.

На экране было видно поле, движущиеся по краям «биты» и летающий по экрану квадратик-мячик. Для управления нужно было крутить ручку на джойстике, а кнопка предназначалась для «вброса» мяча в игру.

Читать полностью »
iotPlita или кому нужен такой контроль на кухне? - 1

Привет!

Эта статья не про кулинарию и не самодисциплину, а про решение одной ежедневной задачи.

Моя боль

Так получилось, что волею судеб я привык готовить на обычных электроконфорках, а так как человек увлеченный, то это от этого процесса всегда могло отвлечь, что то другое.

Читать полностью »

Тестируем ультра-производительные кроссоверы для встраиваемых систем - 1

До потребительского рынка наконец добрались микроконтроллеры с частотой до 1 ГГц, с открытой документацией, набором разнообразного софта, примерами полезного применения и наличием в стоках. Это семейство Читать полностью »

Пишем Hex Viewer для Flipper Zero - 1

Примерно месяц назад основная поставка Flipper'ов таки доехала до России. Вопреки моим ожиданиям, это не вызвало волну публикаций про создание приложений под него. Хорошие публикации есть (например, эта и вот этаЧитать полностью »

Звуковая карта USB на STM32. Часть 2: Используем встроенный АЦП - 1


Во второй части публикации речь пойдёт о реализации линейного входа описанной ранее звуковой карты USB на встроенном в MCU STM32F411CEU6 АЦП.

В статье будут разобраны несколько неочевидных нюансов подобной реализации, а в финале мы сравним характеристики линейного входа на встроенном АЦП с характеристиками линейного входа на кодеке TLV320AIC3104IRHB.
Читать полностью »

Обнаружил баг американской системы образования - 1

Обнаружил интересный баг американской системы образования:

У многих студентов в резюме стоит "делал курсовой проект по алгоритму Томасуло, out-of-order суперскаляру, многопоточному процессору итд".

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js