Глючит счетчик

Vasilisk
Offline
Зарегистрирован: 22.09.2017

Вот код:

  if (onn == 1 && spen > 0){
    Stepper4.move(shagNn);
    if(Stepper4.targetPosition()>=StepperTime+shagN){
      StepperTime = StepperTime+shagN;
      KatR++;
      // Работа каретки направляющий нити намотки
      Stepper1.move(shag*dir2);
      shagK++;
      if (shagK >= shagKol){
        shagK = 0;
        dir2 = dir2*-1;
      }
//      shagNn = shagNn+shagN;
      
    }
  }
  Stepper4.setSpeed(spen);

Если выводить shagK, то получается такая история:

0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
0
0
0
0
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
0
0
0
0
1
1
1
1
2
2
1
2
4
3
4
0
4
4
4
4
1
2
0
2
4
2
4
0
2
3
3
4
0
2

Т.е. сначало работает нормально, но дальше начинаются глюки.

ELITE
ELITE аватар
Offline
Зарегистрирован: 11.01.2018

с чего вы взяли, что он глючит? - вы просто вывод делаете там, где его значение может быть не линейным....

всё зависит от того, как у вас срабатывают условия - так он и считает...

вставьте вывод между 7 и 8 строками и бует у вас стабильные показания )

 

shagKol откуда у вас тянется - там и проверяйте

Vasilisk
Offline
Зарегистрирован: 22.09.2017

Да, глупая ошибка, просто не сталкивался с ней еще. Надо было int на long исправить. Все заработало.