а можно еще сформировать байт, в котором (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено тихий 05 декабря 2004 г. 17:38
В ответ на: Ответ: отправлено -=John=- 05 декабря 2004 г. 09:54

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


// Таблица перекодировки энкодера old 00 01 10 11
// new - новое значение new
// old - предыдущее 00 nc - + er
// 0bnnoo - так формируем индекс 01 + nc er -
// для decode_tbl, из таблицы берем 10 - er nc +
// инкремент-декремент или ошибка 11 er + - nc
nc - состояние не изменилось
er - ошибка с энкодера, либо пропустили импульсы, либо ченить гденить оторвалось ;)

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru