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();


Подключение

И не забываем

Энкодер из BLDC

Данный топик является развернутым ответом на вопрос, поднятый в этой теме: Увеличить разрешение энкодера из HDD. Единственным HDD со съемным двигателем в моем хламе оказался SCSI Seagate емкостью 73GB 2004 года выпуска. Вот такой:



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