Как правильно имитировать работу энкодера (программно)?
Импульсы энкодера обрабатываются библиотекой с помощью внешнего прерывания. Нужно имитировать его работу простым инкрементом счетчика в зависимости от заданной пользователем скорости. Получается, внутри прерывания каждые 100мкс в заданном диапазоне скоростей вращения возможна ситуация где инкремент больше 1 и когда инкремент не происходит 1 и больше раз подряд.
Есть ли тут адекватное решение в таких условиях?
Павел Лапин, когда инкремент не происходит - это нормально. Значит энкодер не крутится или крутится медленно.
А чтобы получить два инкремента за 100мкс нужно куртить его со скоростью 10 оборотов в секунду.
Если он у вас с такой скоростью не крутится, то проблемы нет. Или крутится?