Skip to main content
Lin SS
Visitor II
May 7, 2017
Question

powerstep01

  • May 7, 2017
  • 1 reply
  • 593 views
Posted on May 07, 2017 at 12:50

An arm cortex-M0 MCU is adopted to drive the powetstep01.

The initialization of SPI is done including CS, SDO, SDI, CK,BUSY, STBY.

Here is the problem, I want the step motor run, so I write this:

CS=low;//chip select

SPI1_TX0 = param;//param=0xFF50, since the address of the run command is 0101000DIR, and FF represents speed

SPI1_CNTRL |= GO_BUSY;//start the transmit

delay;

CS=high;

The powerstep01 did not work. Is this the right way?

Or what else should be done  before sending commands(SPI has been initialized already)?

Thank you very much!

This topic has been closed for replies.

1 reply

Enrico Poli
ST Employee
May 12, 2017
Posted on May 12, 2017 at 09:47

Hi,

The speed parameter that should be passed after the Run command is 3 bytes long, so I think you need to send two more bytes to the device in order to make the device execute the command.

Other possible issues:

  1. The CS line must be raised at the end of each by transmission. The SPI of the device accept one byte at a time.
  2. You are putting two bytes in your SPI interface. In which order are they transmitted (LSB first or MSB first)?