Сброс счетчика ABZ-энкодера должен происходить при True на всех его трех входах - это будет самый точный "ноль". Фронт значения особого не имеет (во всяком случае для моего применения), но предпочтительнее передний.
За программу спасибо! Не ожидал, что будет так быстро готово. Постараюсь на следующей неделе воплотить всё это в железе, но правда на столе. Заодно проверю свой вариант решения "стандартными" средствами.
Не совсем понятно назначение выходной переменной counter в блоке PRU_ABZ_ENCODER. Если это просто счет импульсов, то оно без надобности. Вполне достаточно детектора истинного нуля и регистра показаний.





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