I'm not sure why you'd think there would be a better method. The A3977 only accepts high and low and doesn't care if that's a sine wave or square wave. You can't control the form of signal that the A3977 sends to the stepper by changing the form of signal that you're sending the step pin.