电机是28BYJ-48,为何走90度,Motor_Z只运行135次左右,这样步距角0.67左右了
void MOTOR_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 |GPIO_Pin_7 |GPIO_Pin_10 |GPIO_Pin_11 |GPIO_Pin_12 |GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_6 |GPIO_Pin_7 |GPIO_Pin_10 |GPIO_Pin_11 |GPIO_Pin_12 |GPIO_Pin_13 |GPIO_Pin_14 |GPIO_Pin_15);
}
void Motor_Z(uint8_t a)
{
CLI();
if(a == 0)
{
digitalHi(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
}
else if(a == 1)
{
digitalHi(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
}
else if(a == 2)
{
digitalHi(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalHi(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalLo(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalHi(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_6);
digitalLo(GPIOB,GPIO_Pin_7);
digitalLo(GPIOB,GPIO_Pin_10);
digitalHi(GPIOB,GPIO_Pin_11);
Delay(50000);
}
else if(a == 3)
{
digitalHi(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalHi(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalHi(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalLo(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_12);
digitalHi(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
digitalHi(GPIOB,GPIO_Pin_12);
digitalLo(GPIOB,GPIO_Pin_13);
digitalLo(GPIOB,GPIO_Pin_14);
digitalLo(GPIOB,GPIO_Pin_15);
Delay(50000);
}
SEI();
}
一周热门 更多>