Это зависит от того с какой скоростью вращать ось энкодера. Вращать
можно очень медленно или быстро. В моем энкодере на полный оборот
оси происходит 16 щелчков контактов. Поэтому, если делать один
оборот в секунду (быстрее уже сложновато), получается период около
63 мс. Некоторые индивидумы могут вращать и быстрее. Но с быстрым вращением как раз проблем нет, кто там считает количество щелчков. Проблема возникает, когда есть желание сделать один щелчок, чтобы, например, перейти на следующую строку в меню. И в моем случае щелчок физический не всегда превращается в щелчок, обнаруженный программой. Человек слышал и тактильно ощущал щелчок, а реакция программы на него не всегда есть. Из-за этого я до сих пор в поиске алгоритма.
Сейчас я проверяю состояние контактов с периодом 5 мс, наверное, нужно попробовать читать чаще. Но мне кажется, проблема в том, что алгоритм воспринимает реальные щелчки за ошибочные состояния из-за дребезга.