реклама на сайте
подробности

 
 
> Подпрограмма обработки энкодера на ассемблере
Игoрь
сообщение Jan 12 2014, 08:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 15-05-13
Пользователь №: 76 836



Если вдруг у кого есть кусок кода с антидребезгом, поделитесь кому не жалко. Лениво тратить время на исследования задержек по антидребезгу
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jan 14 2014, 11:37
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Опрашиваю периодически (часто) по таймеру состояние выводов энкодера. Для устранения дребезга проверяю состояние за два периода, и если оно совпадает, считаю состояние устойчивым.
Сравниваю новое состояние с предыдущим устойчивым (разность нахожу). Если разность:
0 - ничего не делаю
1 - добавляю 1 к счетчику энкодера
-1 - вычитаю 1 из счетчика энкодера
2 или -2 - ошибка (слишком быстро вращается), ничего не делаю.
Периодически (редко) пересылаю состояние изменившихся органов управления (в том числе, счетчики энкодеров) по последовательному порту тому, кому надо. :-)
После этого счетчик энкодера обнуляю.
Типа того. На PIC16 cool.gif На C.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Feb 3 2014, 09:20
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(ViKo @ Jan 14 2014, 14:37) *
Сравниваю новое состояние с предыдущим устойчивым (разность нахожу).

Забыл добавить одно важное действие. Прежде чем сравнивать с предыдущим состоянием, преобразую код Грэя (в котором выдают свое состояние энкодеры) в двоичный код. Заменяю младшие биты исключающим или старшего и младшего битов. Для 4-х энкодеров в одном байте делал так:
Код
  PanFix[0] = (PanFix[0] & 0b10101010) |
          ((PanFix[0] ^ PanFix[0] >> 1) & 0b01010101);
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Игoрь   Подпрограмма обработки энкодера на ассемблере   Jan 12 2014, 08:02
- - A. Fig Lee   Цитата(Игoрь @ Jan 12 2014, 03:02) Если в...   Jan 12 2014, 17:06
- - Игoрь   да вот начитался теории, даже рисунки кто-то приво...   Jan 12 2014, 18:11
- - rx3apf   Обсуждалось уже, неоднократно. Воспользуйтесь поис...   Jan 12 2014, 18:14
|- - A. Fig Lee   Цитата(rx3apf @ Jan 12 2014, 13:14) Для м...   Jan 12 2014, 19:19
|- - rx3apf   Цитата(A. Fig Lee @ Jan 12 2014, 23:19) П...   Jan 12 2014, 19:45
- - Игoрь   попробую пояснить, чего я хочу- мне нужен не алгор...   Jan 12 2014, 18:34
- - Игoрь   без дребезга при наличии сглаживающих емкостей? Ил...   Jan 12 2014, 19:26
|- - A. Fig Lee   Цитата(Игoрь @ Jan 12 2014, 14:26) без др...   Jan 13 2014, 01:12
- - Abell   Еще когда начинал практически работать с AVR, ввел...   Jan 13 2014, 04:29
- - Игoрь   мысль не нова и безусловно интересна. Но на мой вз...   Jan 13 2014, 08:21
|- - Abell   Цитата(Игoрь @ Jan 13 2014, 12:21) Схема ...   Jan 13 2014, 09:20
- - A. Fig Lee   Какое отношение к енкодеру имеют последние 3 ответ...   Jan 13 2014, 13:45
- - Игoрь   косвенное Раз нет желающих помочь мне с кодом для...   Jan 13 2014, 15:56
|- - ILYAUL   Цитата(Игoрь @ Jan 13 2014, 19:56) косвен...   Jan 13 2014, 18:08
- - Игoрь   я же не просил тыкать меня носом в поисковик. Тема...   Jan 13 2014, 18:38
- - ILYAUL   Вы представляете , а там есть код и не один. Ну жд...   Jan 13 2014, 18:45
- - Игoрь   вы представляете, а я и до вашего совета искал, и ...   Jan 14 2014, 05:05
- - rx3apf   Эта тема неоднократно обсуждалась на форуме. Вам л...   Jan 14 2014, 09:55
- - ILYAUL   ЦитатаНо они меня не устроили своей громоздкостью,...   Jan 14 2014, 10:11
|- - Игoрь   Цитата(ILYAUL @ Jan 14 2014, 14:11) А что...   Jan 14 2014, 11:09
|- - A. Fig Lee   Цитата(ViKo @ Jan 14 2014, 06:37) Опрашив...   Jan 14 2014, 12:47
|- - Maik-vs   Код так код. Вот: Код; ;==========================...   Mar 20 2014, 03:55
- - Navovvol   CODE .def count_VERY_HIGHT = R22 .def coun...   Jan 30 2014, 10:52
|- - kolobok0   Цитата(Navovvol @ Jan 30 2014, 14:52) COD...   Feb 2 2014, 10:29
- - Игoрь   спасибо. Именно такого ответа я и ожидал!   Feb 2 2014, 05:28


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01398 секунд с 7
ELECTRONIX ©2004-2016