#include <stdio.h>
#include "main.h"
void RCC_Configuration()
{
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA , ENABLE);
RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOB , ENABLE);
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
void GPIO_Configuration()
{
GPIO_InitType GPIO_InitStructure;
/*Configure MOT-A1 PB0 */
GPIO_InitStructure.Pin = GPIO_PIN_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
/* Configure MOT-B1 PA8 */
GPIO_InitStructure.Pin = GPIO_PIN_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitPeripheral(GPIOA, &GPIO_InitStructure);
/*Configure MOT-A2 PB1 */
GPIO_InitStructure.Pin = GPIO_PIN_1;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
/* Configure MOT-B2 PB2 */
GPIO_InitStructure.Pin = GPIO_PIN_2;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitPeripheral(GPIOB, &GPIO_InitStructure);
}
void StepMotor(unsigned int BuShu,unsigned int SuDu)
{
while(1)
{ //Configure alternator 1
GPIO_SetBits(GPIOB, GPIO_PIN_0);
GPIO_ResetBits(GPIOA, GPIO_PIN_8);
GPIO_ResetBits(GPIOB, GPIO_PIN_1);
GPIO_SetBits(GPIOB, GPIO_PIN_2);
Delay(SuDu);
if(!BuShu--)break;
//Configure alternator 2
GPIO_SetBits(GPIOB, GPIO_PIN_0);
GPIO_SetBits(GPIOA, GPIO_PIN_8);
GPIO_ResetBits(GPIOB, GPIO_PIN_1);
GPIO_ResetBits(GPIOB, GPIO_PIN_2);
Delay(SuDu);
if(!BuShu--)break;
//Configure alternator 3
GPIO_ResetBits(GPIOB, GPIO_PIN_0);
GPIO_SetBits(GPIOA, GPIO_PIN_8);
GPIO_SetBits(GPIOB, GPIO_PIN_1);
GPIO_ResetBits(GPIOB, GPIO_PIN_2);
Delay(SuDu);
if(!BuShu--)break;
//Configure alternator 4
GPIO_ResetBits(GPIOB, GPIO_PIN_0);
GPIO_ResetBits(GPIOA, GPIO_PIN_8);
GPIO_SetBits(GPIOB, GPIO_PIN_1);
GPIO_SetBits(GPIOB, GPIO_PIN_2);
Delay(SuDu);
if(!BuShu--)break;
}
}
int main()
{
RCC_Configuration();
GPIO_Configuration();
while(1)
{
StepMotor(800,12);
}
}