caricare quattro bit sulla porta per cambiare direzione al motorino stepper

Ciao
Vorrei chiedervi se mi potete aiutare a trovare una soluzione per cambiare in un solo ciclo la direzione del motorino stepper.Allego codice

void motorF(){
  while (n_step++<1)
  {
          digitalWrite(motorPin1, HIGH);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, HIGH);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, HIGH);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, HIGH);
          while (tmp2++<Speed);
          tmp2=0;
  }
          n_step = 0;
}

void motorR ()
{
while ( n_step++<1)
  {
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, HIGH);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, HIGH);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, LOW);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, HIGH);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
          digitalWrite(motorPin1, HIGH);
          digitalWrite(motorPin2, LOW);
          digitalWrite(motorPin3, LOW);
          digitalWrite(motorPin4, LOW);
          while (tmp2++<Speed);
          tmp2=0;
  }
         n_step = 0;
}

Vorrei poter cambiare direzione con una soluzione più elegante magari giocando sui bit ( 4 bit) e caricarli sulla porta

qualche idea ? :confused:
Grazie mille in anticipo