新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2019-8-31
- 在线时间
- 3 小时
|
3金钱
最近在自学STM32F1mini板, 学到步进电机的时候出现了电机振动但是不转动的情况,源码如下,求各位大大解答
main函数
- #include"delay.h"
- #include"Motor.h"
- #include"stm32f10x.h"
- #include"sys.h"
- int main(void){
- unsigned char Speed;
- delay_init();
- Motor_Init();
- unsigned int i=512;
- Speed=8;
- Coil_OFF
- while(i--){
- Coil_A1
- delay_ms(Speed);
-
- Coil_B1
- delay_ms(Speed);
- Coil_C1
- delay_ms(Speed);
- Coil_D1
- delay_ms(Speed);
- }
- Coil_OFF
- i=512;
- while(i--){
- Coil_D1
- delay_ms(Speed);
-
- Coil_C1
- delay_ms(Speed);
- Coil_B1
- delay_ms(Speed);
- Coil_A1
- delay_ms(Speed);
- }
- }
复制代码 Motor.h
- #ifndef __MOTOR_H
- #define __MOTOR_H
- #include "sys.h"
- #define A1 PAout(11)
- #define B1 PAout(12)
- #define C1 PAout(13)
- #define D1 PAout(14)
- #define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}
- #define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}
- #define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}
- #define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}
- #define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}
- #define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}
- #define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}
- #define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}
- #define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}
- void Motor_Init(void);
-
- #endif
复制代码 Motor.c
- #include"Motor.h"
- void Motor_Init(void){
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
-
- GPIO_SetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14);
- }
复制代码
|
|