Hi,
ich mache es immer so:
void move_steps()
{
output_low(Driver_dir); // Links oder rechts
step16=0; // Variablen mit Startwerten besetzen
step_delay=step_delay_max; // Pause für low speed
while (step16<steps_to_go) // X Schritte gehen
{
output_high(driver_step); // Schritteingang des Treibers
delay_us(step_delay);
output_low(driver_step);
if (step_delay > step_delay_min) step_delay--; // step_delay_min= Pause für max speed
}
}
Funktioniert prima!
Lesezeichen