Вы многое пропустили. Обсуждалось, как сделать ЛИ обработчик механического энкодера с трещеткой PEC16 наиболее надежно и при этом приятно для пользователя.
1. Никаких прерываний - голый поллинг. 2. Не должны пропускаться циклы при дребезге, энкодер - хреновый механический. 3. Переключенияе в обе стороны должно производиться максимально симметрично напротив трещетки. 4. Защелка может фиксировать энкодер не только в состоянии "оба контакта разомкнуты", но и в состояниях "один контакт замкнут". Подобные глюки не должны быть заметны пользователю. 5. Программа может быть запущена в любом состоянии энкодера, по ходу программы могут изредка возникать задержки на неопределенное время. Обработчик должен на подобные вещи реагировать мягко.
Ну и по ходу дела оказалось, что в коде, который приводил народ, были закопаны глюки ;)