STM8S103 и энкодер

На примере STM8S103F3

Инициализация

TIM1_TimeBaseInit(0, TIM1_COUNTERMODE_UP, 0xFFFF, 0);
TIM1_EncoderInterfaceConfig(TIM1_ENCODERMODE_TI12, TIM1_ICPOLARITY_FALLING, TIM1_ICPOLARITY_FALLING);
TIM1_Cmd(ENABLE);

0xFFFF максимальное значение, до которого будет крутиться энкодер. Далее переходит в ноль и начинается все сначала.

Получение текущего положения

position = TIM1_GetCounter();


Подключение

И не забываем

"CeleronKeyInputLib" C library топик-ссылка

General C library (crossplatform) for "Buttons" and "Encoders" input processing in microcontrollers. Библиотека процедур для интеллектуальной обработки ВВОДА в МК (событий от Кнопок и Энкодеров). Особенности: Кроссплатформенность. Адаптивность к любому железу. Универсальное API. Событийная модель кода обслуживающего интерфейс.

Подключение линейного энкодера к STM32

image
Однажды ко мне попал линейный энкодер ПЛФ-3 и мне захотелось подключить его к микроконтроллеру. Однако, как оказалось, дело это не самое простое. Какие именно проблемы возникли при этом, и как они были решены — читайте далее.


Читать дальше

Отработка узлов: Часы-Будильник-Таймер-Секундомер на МК ATtiny85V (часть 3)

В Устройстве используется индикация: статическая, на сдвиговых регистрах. Опытные электронщики уже наверняка знают: зачем в той схеме нужен ключ VT1, управляемый сигналом «Ready»? Но я, по началу, не знал насколько он важен...



Читать дальше

Отработка узлов: Часы-Будильник-Таймер-Секундомер на МК ATtiny85V (часть 2)

«Москва не сразу строилась. Не сразу всё устроилось...» (с)

Отработка узлов

Содержание:


Осторожно: в статье «много буков»! Кого это напрягает — идите мимо. Данная статья написана не для читателей — в ней автор разговаривает со своим «учителем»: поставленной задачей... (протоколы экспериментов)



Читать дальше

AVRASM: Библиотека процедур для интеллектуальной обработки ВВОДА в МК: событий от Кнопок и Энкодеров (часть 2: порядок внедрения и использования)

AVR
Большинству микроконтроллерных устройств требуется поддерживать интерфейс с пользователем-человеком: для вывода используются светодиоды или дисплеи, а для ввода — обычно, традиционные Кнопки и Энкодеры.
Данная реализация «Библиотеки процедур для интеллектуальной обработки ВВОДА» написана на языке ассемблера, для компилятора AVRASM. Соответственно, она предназначена для разработки программных прошивок (firmware) на языке ассемблер, для микроконтроллеров Atmel AVR (8-bit).



Читать дальше

AVRASM: Библиотека процедур для интеллектуальной обработки ВВОДА в МК: событий от Кнопок и Энкодеров (часть 1: авторская методика и реализация)

AVR
Микроконтроллерное устройство может работать исключительно в автономном режиме: получать сигналы с датчиков, и выдавать управляющие импульсы, иногда оно ещё взаимодействует с ЭВМ или другими микроконтроллерами… Но большинству микроконтроллерных устройств требуется поддерживать интерфейс с пользователем-человеком: для вывода используются светодиоды или дисплеи, а для ввода — традиционные Кнопки и Энкодеры, редко используются и другие экзотические устройства ввода
В данной работе будут рассматриваться только традиционные инструменты ввода: «цифровые Кнопки / Клавиатуры» и «инкрементальные Энкодеры», поскольку именно они используются почти всегда.

Содержание:


Читать дальше

Функция умного энкодера с ускорением

Сварганил код для экнодера, который позволяет изменять регулируемое значение быстро, в то же время, устанавливать точно. Под катом сам код и видео работы.


Читать дальше

Еще один способ опроса энкодера


Мне известно два метода обработки энкодера: по прерыванию (от INT0,INT1,PCINT…)
и сравнение предыдущего состояния энкодера и текущего ( easyelectronics.ru/avr-uchebnyj-kurs-inkrementalnyj-enkoder.html ). Я предлагаю еще один способ, который заключается в следующем:

Читать дальше

очередная "Лампа настроения" с энкодером

После недели головной боли над неправильно работающим циклом вычисления цвета допилил прошивку к своей лампе настроения.
Микроконтроллер atmega32a (на самодельной макетке)
(почему такой монстр для такой фигни? да потому-что моя самодельная макетка сделана для 16й и 32й атмег, пока что без совместимости с аттинями, в планах сделать переходник с тиней и 8меги на DIP40 установленный на плате.
а код легко переносится на другие платформы
суть разработки заключается в полной разработке девайса, от идеи до реализации в готовом виде.
и да, это мой первый девайс который делается ОТ и ДО)
Светодиод обычный RGB с общим анодом, взят со светодиодной ленты. Катоды подключены к ШИМ выходам микроконтроллера через токоограничительные резисторы.
Энекодер самый обычный, с А В выходами, подключены к 1 и 2 пину порта А (0й пин не работает)
Цвет меняется вращением энкодера, направление учитывается.
765 цветов.


Читать дальше