Beruflich Dokumente
Kultur Dokumente
MOTOR
MSI
#include <stdio.h>
#include <stm32f4xx.h>
int halfStepCount = 8;
int currentStep = 0;
void SysTick_Handler(void)
{
msTicks++;
}
SystemCoreClockUpdate();
RCC->AHB1ENR |= (1 << 1) ;
}
void step(int stepCount)
{
case 1:
GPIOB->BSRRH = (1<<11); //BLUE PIN HIGH
GPIOB->BSRRH = (1<<12); //PINK PIN HIGH
GPIOB->BSRRL = (1<<13); //YELLOW PIN LOW
GPIOB->BSRRL = (1<<14); //ORANGE PIN LOW
break;
case 2:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRH = (1<<12); //PINK PIN HIGH
GPIOB->BSRRL = (1<<13); //YELLOW PIN LOW
GPIOB->BSRRL = (1<<14); //ORANGE PIN LOW
break;
case 3:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRH = (1<<12); //PINK PIN HIGH
GPIOB->BSRRH = (1<<13); //YELLOW PIN HIGH
GPIOB->BSRRL = (1<<14); //ORANGE PIN LOW
break;
case 4:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRL = (1<<12); //PINK PIN LOW
GPIOB->BSRRH = (1<<13); //YELLOW PIN HIGH
GPIOB->BSRRL = (1<<14); //ORANGE PIN LOW
break;
case 5:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRL = (1<<12); //PINK PIN LOW
GPIOB->BSRRH = (1<<13); //YELLOW PIN HIGH
GPIOB->BSRRH = (1<<14); //ORANGE PIN LOW
break;
case 6:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRL = (1<<12); //PINK PIN LOW
GPIOB->BSRRL = (1<<13); //YELLOW PIN LOW
GPIOB->BSRRH = (1<<14); //ORANGE PIN HIGH
break;
case 7:
GPIOB->BSRRH = (1<<11); //BLUE PIN HIGH
GPIOB->BSRRL = (1<<12); //PINK PIN LOW
GPIOB->BSRRL = (1<<13); //YELLOW PIN LOW
GPIOB->BSRRH = (1<<14); //ORANGE PIN HIGH
break;
default:
GPIOB->BSRRL = (1<<11); //BLUE PIN LOW
GPIOB->BSRRL = (1<<12); //PINK PIN LOW
GPIOB->BSRRL = (1<<13); //YELLOW PIN LOW
GPIOB->BSRRL = (1<<14); //ORANGE PIN LOW
break;
}
}
}