Как уйти от паразитного delay??
- Войдите на сайт для отправки комментариев
Чт, 04/06/2015 - 13:01
Подскажите плиз. Имеем два шаговых мотора. Один вращается с постоянной скоростью, а второй надо вращать с ускорением. Вопрос. Как уйти от паразитного dealy?
void EQUp()
{
indi++; if (indi<30) {digitalWrite(13,LOW);} if (indi>1){digitalWrite(13,HIGH);} if (indi>2){digitalWrite(13, LOW); indi=0;}
Serial.print("spd : "); Serial.println(spd);
Serial.print("spd1: "); Serial.println(spd1);
digitalWrite(motor11, HIGH);
digitalWrite(motor14, LOW); delay(spd); delayMicroseconds(spd1); // 1000
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor12, HIGH); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor11, LOW); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor13, HIGH); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor12, LOW); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor14, HIGH); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor13, LOW); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
digitalWrite(motor11, HIGH); delay(spd); delayMicroseconds(spd1);
button11st = digitalRead(11);
button12st = digitalRead(12);
if (button11st==LOW)
{return;}
else
if (button12st==LOW)
{return;}
else
// digitalWrite(motor21,LOW);
// digitalWrite(motor22,LOW);
// digitalWrite(motor23,LOW);
// digitalWrite(motor24,LOW);
digitalWrite(motor31,LOW);
digitalWrite(motor32,LOW);
digitalWrite(motor33,LOW);
digitalWrite(motor34,LOW);
}
AccelStepper