找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3246|回復(fù): 3
收起左側(cè)

STM32控制步進(jìn)電機(jī)

[復(fù)制鏈接]
ID:308810 發(fā)表于 2018-5-2 18:52 | 顯示全部樓層 |閱讀模式
這是我這幾天寫的,通過stm32來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng),可以直接引用,注意修改引腳即可:
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"

uint8_t phasecw[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09} ;
uint8_t phaseccw[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08} ;



void delay_ms(uint16_t time)
{   
   uint16_t i=0;  
   while(time--)
   {
      i=3000;  
      while(i--) ;   
   }
}


void Step_Motor_GPIO_Init(void
{
  GPIO_InitTypeDef GPIO_InitStruct;         

        *(unsigned int *)0X40021018 |= (1<<3);
       
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHZ;
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB,&GPIO_InitStruct);
       
}

void SetMotor(unsigned char InputData
{
    if(InputData & 0x08)
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_6);   
    }
    else
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_6);
    }
    if(InputData & 0x04)
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_7);   
    }
   else
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_7);
    }
    if(InputData & 0x02)
    {
        GPIO_ResetBits(GPIOB,GPIO_Pin_8);   
    }
    else
    {
        GPIO_SetBits(GPIOB,GPIO_Pin_8);
    }
   if(InputData & 0x01)
    {
       GPIO_ResetBits(GPIOB,GPIO_Pin_9);   
    }
   else
    {
       GPIO_SetBits(GPIOB, GPIO_Pin_9);
    }
}


void motorNCircle(int n
{
   int i=0;
   int j=0;
   int k=0;
   for(j=0;j<n;j++)
   {
      for(i=0;i<64*8;i++)     
      {
          for(k=0;k<8;k++)
          {
             SetMotor(phaseccw[k]);  
             delay_ms(1);      
          }
      }
    }
}

int main(void)
{
   Step_Motor_GPIO_Init();
         while(1)
  {
                motorNCircle(3);
  }
}




void SystemInit(void)
{
        /*讓編譯器不報(bào)錯(cuò)*/
}


評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
362618281 + 5 絕世好帖!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:319662 發(fā)表于 2018-5-2 21:58 | 顯示全部樓層
正在學(xué)習(xí)用32做激光雷達(dá)避障小車,學(xué)習(xí)一下思路哈哈哈
回復(fù)

使用道具 舉報(bào)

ID:260557 發(fā)表于 2018-5-8 09:32 | 顯示全部樓層
很給力
回復(fù)

使用道具 舉報(bào)

ID:350346 發(fā)表于 2018-6-15 18:10 | 顯示全部樓層
厲害了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表