码迷,mamicode.com
首页 > 其他好文 > 详细

舵机驱动-GPIO MG995 STM32

时间:2018-06-01 17:37:20      阅读:466      评论:0      收藏:0      [点我收藏+]

标签:static   signal   delay   初始化   for   oct   its   not   stm32   

应为TIM都用光了,只能使用GPIO,使用GPIO 好处就是很好移植。程序如下:

省略GPIO等初始化。PIN设置为

   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;              
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;

#ifndef _MOTOR_STEP_H_
#define _MOTOR_STEP_H_
#define MIN_DEGREE (0)
#define MAX_DEGREE (90)

#include "stm32f10x.h"

s8 MotorMoveDegree(u8 degree);

#endif
#include "motor_step.h"
#include "ioctrl.h"
#include "base_conf.h"
#define US_NUM (445)
static void Delay_100us(u16 us)//only for sysclock is 36M, Measured by OscillOscope,not a accurate delay
{
    u16 i=US_NUM;
    while(us--)
    {
        while(i--)
        __NOP();
        i=US_NUM;
    }
}

s8 MotorMoveDegree(u8 degree)
{
    u16 ON_us,OFF_us;
      u8 i=15;
        if(degree>MAX_DEGREE)return -1;
      ON_us = (u16)(25*degree/MAX_DEGREE);
      OFF_us = 200-ON_us;
      while(i--)
        {
            MotorStepSignal_ON();
            Delay_100us(ON_us);
            MotorStepSignal_OFF();
            Delay_100us(OFF_us);
        }
      return 0;    
}
void main()
{
 //system_init();
     while(1)
    {
           MotorMoveDegree(90);
        Delay_ms(100);
        MotorMoveDegree(60);
        Delay_ms(100);

    }
}

 

舵机驱动-GPIO MG995 STM32

标签:static   signal   delay   初始化   for   oct   its   not   stm32   

原文地址:https://www.cnblogs.com/ycpkbql/p/9122513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!