Return to SDK Examples for Microchip Studio
#include "ClearCore.h"
#define motor ConnectorM0
#define baudRate 9600
#define SerialPort ConnectorUsb
int32_t velocityLimit = 10000;
int32_t accelerationLimit = 100000;
void MoveDistance(int32_t distance);
int main() {
Connector::CPM_MODE_STEP_AND_DIR);
motor.VelMax(velocityLimit);
motor.AccelMax(accelerationLimit);
SerialPort.Mode(Connector::USB_CDC);
SerialPort.Speed(baudRate);
uint32_t timeout = 5000;
SerialPort.PortOpen();
while (!SerialPort &&
Milliseconds() - startTime < timeout) {
continue;
}
motor.EnableRequest(true);
SerialPort.SendLine("Motor Ready");
while (true) {
MoveDistance(6400);
MoveDistance(19200);
MoveDistance(-12800);
MoveDistance(-6400);
MoveDistance(-6400);
}
}
void MoveDistance(int32_t distance) {
SerialPort.Send("Moving distance: ");
SerialPort.SendLine(distance);
motor.Move(distance);
SerialPort.SendLine("Moving... Waiting for the step output to finish...");
while (!motor.StepsComplete()) {
continue;
}
SerialPort.SendLine("Steps Complete");
}