Да. Вы правы! Из-за того что программа может считать текущее значение энкодера, когда он уже проскочил позицию отрыва, то следующая метка должна отсчитываться от предыдущей метки, а не от текущей позиции энкодера.
Owen.jpg
Но и здесь есть подводный камень. Если произойдет переполнение метки и её значение будет очень маленьким?
Например, равным 0. Тогда чтобы сформировался фронт на входе RTRIG1 программа должна зафиксировать его значение строго на 0.
И если при чтении энкодера программа, при каждом его переполнении, будет его проскакивать, то формирование импульсов прекратится.
Надо ловить переполнение метки, а также ловить переполнение энкодера и сравнивать их, только когда оба прошли переполнение.
Owen1.jpg
Спасибо за подсказки.
Owen2.jpg




Ответить с цитированием