Sounds like you're running from a GCode interpretter with commands dictating when the motors should move, is the interrupt the message received interrupt?
RepRap or CNC?
You could also have a single interrupt for just clearing the pins, turn it on when you activate the pins and then get the interrupt to disable itself.
I would suggest increasing the duration for a number of reasons but mainly because the input, circuit line impedance etc will impact the rise time of the signal, as you stated yourself, you're not driving the motor at 1MHz (I think the motor would probably not work at this frequency anyway)
I would suggest looking at 5-10us, this allows for some impedances in the circuitry.
Does the driver in question operate on the rising or falling edge of the input? if rising then the off time is irrelevant as long as it's off before it steps again. Falling is a seperate problem and possibly justifies your question.
Hi,
I need faster output switching than offered by using DigitalOut(), I also need to change the state of up to 3 outputs at exactly the same time (BusOut() wont do this).
After some searching I found the FIOSET fast port output set register, But I have had no luck finding any examples of how to assign pins to a given port and then how to set all the bits at once.
Hope some one will be able to help.
Thanks,
Mike.