Interrupt-driven stepper motor code working on Nucleo F411, glitches on F030

22 Dec 2014

I've experienced this issue with two different stepper libraries, namely

Both are interrupt driven, setting the 4 GPIO outputs @ every call according to a phase look-up table.

Here is what I'm seeing occasionally on the F030 Nucleo: /media/uploads/gregeric/nucleof030-glitch.gif

All pulses should be 10ms long, but as you can see there's a glitch whereby channel 2 stays on for 65ms, followed by a short pulse on channel 3, and then the pulse train continues normally. The total length of the pulse train is about right, so it looks as though ticker interrupt was continuing normally but the GPIOs didn't change values.

There are regular such glitches on the 030, but the 411 runs forever without a hitch. The differences between the boards are

  • 030 M0 with internal high speed clock, 48MHz
  • 411 M4 with external 8MHz clock, 100MHz

Any ideas what might be happening?

22 Feb 2015

Try running the 411 @48MHz to see if the problem is due to clock speed.