中级会员
 
- 积分
- 346
- 金钱
- 346
- 注册时间
- 2018-8-10
- 在线时间
- 92 小时
|
发表于 2019-4-22 11:12:15
|
显示全部楼层
//引脚连接
//IN1:PE5、IN2:PE6、IN3:PB6、IN4:PC9、
//步进电机初始化函数
void Motor_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//推挽输出GPIO_PuPd_DOWN
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);//默认低电平
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
}
//步进电机正转函数
void Motorcw(void)
{
GPIO_SetBits(GPIOE,GPIO_Pin_5);//依次高电平输出
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_SetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
}
//步进电机反转函数
void Motordw(void)
{
GPIO_ResetBits(GPIOE,GPIO_Pin_5);//依次高电平输出
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_SetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_SetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_ResetBits(GPIOE,GPIO_Pin_5);
GPIO_SetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
GPIO_SetBits(GPIOE,GPIO_Pin_5);
GPIO_ResetBits(GPIOE,GPIO_Pin_6);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
GPIO_ResetBits(GPIOC,GPIO_Pin_9);
delay_ms(10);
}
问问 正转可以正转。 但是反转只是震动。。。 |
|