Notice: Memcache::get(): Server localhost (tcp 11211) failed with: Connection refused (111) in /home/a146/www/we.easyelectronics.ru/engine/lib/external/DklabCache/Zend/Cache/Backend/Memcached.php on line 134
STM8S103 и энкодер / Блог им. aliaksei / Сообщество EasyElectronics.ru

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


Подключение

И не забываем
  • +1
  • 08 ноября 2016, 23:51
  • aliaksei

Комментарии (12)

RSS свернуть / развернуть
И не забываем
А из кода разве это все не конфигурируется?
0
  • avatar
  • Vga
  • 09 ноября 2016, 19:46
Буду рад если кто подскажет как это делать в stm8
0
у меня вопрос: таймер прибавляет единичку после 4 перепадов или по каждому перепаду?
0
ну или отнимает
0
За щелчок энкодера прибавляет/отнимает 4, но это не всегда.
0
понятно, значит на каждом перепаде. А что значит не всегда? Он подглючивает что ли?
0
Подозреваю такие энкодеры китайские. Если крутишь четко по щелчкам, то кратно четырем получается.
0
а почему так лаконично. я конечно догадаюсь в каких программах это все сделано.
но чтобы сделать энкодер работающим. маловато. хотелось бы больше слов. и конечно работающий пример.
0
А что в примере не работает?
0
то что вы называете примером. кусок текста.
чтобы это превратить в пример надо создать проект в любой среде с компилятором.
сохранить. заархивировать. добавить к сообщению с комментариями. а так да…
мне нужен счетчик событий. хотел воспользоваться вашим примером. все настолько лаконично. что оставил пока как есть. по фронту прерывание в прерывании увеличиваем счетчик. на таймере это красивее и правильнее.
пока откладываем.тк работает :).пойду заниматься другим проектом…
0
чтобы это превратить в пример надо создать проект в любой среде с компилятором.
сохранить. заархивировать. добавить к сообщению с комментариями
… и обнаружить в камментах требование примера под другую среду.
+1
Я правильно понимаю, что вы в состоянии сделать проект, собрать его без ошибок и запустить, но не в состоянии скопипастить четыре строчки?
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.