Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include <Stepper.h>
- #define MOTOR_1 PA3
- #define MOTOR_2 PA2
- #define MOTOR_3 PA1
- #define MOTOR_4 PA0
- #define MOTOR_STEPS 400
- //Stepper stepper(MOTOR_STEPS, MOTOR_1, MOTOR_2, MOTOR_3, MOTOR_4);
- int delayTime = 10;
- int phase = 0;
- int mode = 0;
- int stepCount = 0;
- unsigned long starttime = 0;
- void setup() {
- Serial.begin(9600);
- pinMode(MOTOR_1, OUTPUT);
- pinMode(MOTOR_2, OUTPUT);
- pinMode(MOTOR_3, OUTPUT);
- pinMode(MOTOR_4, OUTPUT);
- GPIOA->regs->BRR = 0b1111;
- //starttime = milis();
- }
- void loop() {
- /*stepper.step(1);
- Serial.println(stepCount);
- stepCount++;
- delay(500)*/
- if(mode == 0) {
- GPIOA->regs->BRR = 0b1111;
- GPIOA->regs->BSRR = 0b1 << phase;
- phase++;
- if(phase >= 4) phase = 0;
- delay(delayTime);
- } else if(mode == 1) {
- GPIOA->regs->BRR = 0b1111;
- GPIOA->regs->BSRR = 0b11 << phase*2;
- phase++;
- if(phase >= 2) phase = 0;
- delay(delayTime);
- } else if(mode == 2) {
- GPIOA->regs->BRR = 0b1111;
- GPIOA->regs->BSRR = 0b1 << 0;
- delay(delayTime);
- GPIOA->regs->BRR = 0b1 << 3;
- delay(delayTime);
- GPIOA->regs->BSRR = 0b1 << 1;
- delay(delayTime);
- GPIOA->regs->BRR = 0b1 << 0;
- delay(delayTime);
- GPIOA->regs->BSRR = 0b1 << 2;
- delay(delayTime);
- GPIOA->regs->BRR = 0b1 << 1;
- delay(delayTime);
- GPIOA->regs->BSRR = 0b1 << 3;
- delay(delayTime);
- GPIOA->regs->BRR = 0b1 << 2;
- delay(delayTime);
- }
- //delay( 1000 / (milis() - starttime) );
- }
Advertisement
Add Comment
Please, Sign In to add comment