STM32F103C8T6 ULN2003步进电机驱动代码
扫描二维码
随时随地手机看文章
步进电机的驱动原理特别简单百度一下就OK了。
以下是用流水灯改进的代码。很垃圾但是可以使用!!!
仅供测试
#include"stm32f10x.h"
#include"delay.h"
#include"sys.h"
voidDelay(u32count)
{
u32i=4000;
for(;i } intmain(void) { intt=500000; GPIO_InitTypeDefGPIO_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_InitTypeDefGPIO_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); }*/ //}