STM32F103C8T6 ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)代碼
掃描二維碼
隨時(shí)隨地手機(jī)看文章
步進(jìn)電機(jī)的驅(qū)動(dòng)原理特別簡單百度一下就OK了。
以下是用流水燈改進(jìn)的代碼。很垃圾但是可以使用?。?!
僅供測試
#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); }*/ //}