步进电机的驱动原理特别简单百度一下就OK了。
以下是用流水灯改进的代码。很垃圾但是可以使用!!!
仅供测试
#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
void Delay(u32 count)
{
u32 i=4000;
for(;i
}
int main(void)
{
int t=500000;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;
GPIO_Init(GPIOA,&GPIO_InitStructure);
while(1){
GPIO_ResetBits(GPIOA,GPIO_Pin_0);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
GPIO_SetBits(GPIOA,GPIO_Pin_3);
// delay_ms(t);
Delay(t);
GPIO_SetBits(GPIOA,GPIO_Pin_0);
GPIO_ResetBits(GPIOA,GPIO_Pin_1);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
GPIO_SetBits(GPIOA,GPIO_Pin_3);
// delay_ms(t);
Delay(t);
GPIO_SetBits(GPIOA,GPIO_Pin_0);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
GPIO_ResetBits(GPIOA,GPIO_Pin_2);
GPIO_SetBits(GPIOA,GPIO_Pin_3);
// delay_ms(t);
Delay(t);
GPIO_SetBits(GPIOA,GPIO_Pin_0);
GPIO_SetBits(GPIOA,GPIO_Pin_1);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
GPIO_ResetBits(GPIOA,GPIO_Pin_3);
// delay_ms(t);
Delay(t);
}
}
/* GPIO_InitTypeDef GPIO_InitStructure;
delay_init();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //??PB,PE????
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED0-->PB.5 ????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO????50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //?????????GPIOB.5
GPIO_SetBits(GPIOA,GPIO_Pin_2); //PB.5 ???
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //LED1-->PE.5 ????, ????
GPIO_Init(GPIOA, &GPIO_InitStructure); //???? ,IO????50MHz
GPIO_SetBits(GPIOA,GPIO_Pin_3); //PE.5 ???
while(1)
{
GPIO_ResetBits(GPIOA,GPIO_Pin_2);
GPIO_SetBits(GPIOA,GPIO_Pin_3);
// Delay(5000000);
delay_ms(1000);
GPIO_SetBits(GPIOA,GPIO_Pin_2);
GPIO_ResetBits(GPIOA,GPIO_Pin_3);
// Delay(5000000);
delay_ms(1000);
}*/
//}
上一篇:stm32下状态机编程按键
下一篇:STM32控制步进电机实现精确转动
推荐阅读最新更新时间:2024-03-16 15:38