原创
步进电机程序
2024-11-24 11:18
86
0
分类:
物联网
文集:
博客
```c
void step(int dir)
{
if (dir == 0) // 正转
{
GPIO_SetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_SetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_SetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_SetBits(GPIOB, IN4_PIN);
delay_ms(5);
}
else if (dir == 1) // 反转
{
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_SetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_SetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_ResetBits(GPIOB, IN1_PIN);
GPIO_SetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
GPIO_SetBits(GPIOB, IN1_PIN);
GPIO_ResetBits(GPIOB, IN2_PIN);
GPIO_ResetBits(GPIOB, IN3_PIN);
GPIO_ResetBits(GPIOB, IN4_PIN);
delay_ms(5);
}
}
void StepMotor()
{
SystemInit(); // 初始化系统时钟和外设
StepMotor_Init(); // 初始化步进电机的GPIO引脚
step(0); // 正转一步
step(0); // 正转两步
step(0); // 正转三步
step(0); // 正转四步
delay_ms(500); // 延时500毫秒
step(1); // 反转一步
step(1); // 反转两步
step(1); // 反转三步
step(1); // 反转四步
delay_ms(500); // 延时500毫秒
}
```
作者: 丙丁先生, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-3996156.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论