#include "Motor.h"
#include "cmsis_os.h"
#include "stm32f1xx_hal.h"
#define DJ_D(N) HAL_GPIO_WritePin(dianji_D_GPIO_Port,dianji_D_Pin,N==1?GPIO_PIN_SET:GPIO_PIN_RESET)
#define DJ_C(N) HAL_GPIO_WritePin(dianji_C_GPIO_Port,dianji_C_Pin,N==1?GPIO_PIN_SET:GPIO_PIN_RESET)
#define DJ_B(N) HAL_GPIO_WritePin(dianji_B_GPIO_Port,dianji_B_Pin,N==1?GPIO_PIN_SET:GPIO_PIN_RESET)
#define DJ_A(N) HAL_GPIO_WritePin(dianji_A_GPIO_Port,dianji_A_Pin,N==1?GPIO_PIN_SET:GPIO_PIN_RESET)
void MotorCW(void)
{
DJ_D(1);
DJ_C(0);
DJ_B(0);
DJ_A(0);
osDelay(4);
DJ_D(0);
DJ_C(1);
DJ_B(0);
DJ_A(0);
osDelay(4);
DJ_D(0);
DJ_C(0);
DJ_B(1);
DJ_A(0);
osDelay(4);
DJ_D(0);
DJ_C(0);
DJ_B(0);
DJ_A(1);
osDelay(4);
}
void MotorCCW(void)
{
DJ_A(1);
DJ_B(0);
DJ_C(0);
DJ_D(0);
osDelay(4);
DJ_A(0);
DJ_B(1);
DJ_C(0);
DJ_D(0);
osDelay(4);
DJ_A(0);
DJ_B(0);
DJ_C(1);
DJ_D(0);
osDelay(4);
DJ_A(0);
DJ_B(0);
DJ_C(0);
DJ_D(1);
osDelay(4);
}
void MotorStop(void)
{
DJ_D(0);
DJ_C(0);
DJ_B(0);
DJ_A(0);
}
void Open_Door(void)
{
u8 i = 0;
for(i=0;i<100;i++)
{
MotorCW();
osDelay(10);
}
}
#ifndef _MOTOR_H
#define _MOTOR_H
#include "main.h"
void MotorCW(void);
void MotorCCW(void);
void MotorStop(void);
void Open_Door(void);
#endif
ULN2003中文数据手册.pdf
步进电机驱动板原理图.pdf