
Сообщение от
rovki
Приходит фаза А ,а В сигнала еще нет ...и приходит команда на реверс
Начальные состояния: 0,0.
Код:
// Приходит фаза A; B ещё нет
abz.setA(cpu, 1); executeBlock(cpu);
System.out.println("position = " + (short)(abz.getPosition(cpu)) + ", counter = " + abz.getCounter(cpu));
// Реверс -- фаза A пропала, B тоже молчит
abz.setA(cpu, 0); executeBlock(cpu);
System.out.println("position = " + (short)(abz.getPosition(cpu)) + ", counter = " + abz.getCounter(cpu));
Вывод:
position = -1, counter = 1
position = 0, counter = 2
Если при исходных нулях моргнёт и пропадёт фаза B, то будет такой вывод:
position = 1, counter = 1
position = 0, counter = 2
Импульсы не пропали. Сначала один посчитался как -1, потом рервес и он учёлся как +1 -- в итоге 0.

Сообщение от
rovki
есть А и В и приходит команда не реверс ...То есть может потеряться импульс с энкодера при реверсе ...
Тут немного непонятно. Что значит "есть A и B и команда на реверс". В каком порядке должны мигать A/B?