我只是想问一下stm32F103控制3个舵机的程序怎么写库函数,详细程序

如题所述

你好,舵机的控制原理就是通过控制不同的脉冲宽度来控制舵机的转向角度。以180度角度舵机为例,那么对应的控制关系是这样的: 

0.5ms————–0度; 
1.0ms————45度; 
1.5ms————90度; 
2.0ms———–135度; 
2.5ms———–180度; 

驱动1个舵机代码示例:

#include "led.h"#include "delay.h"#include "sys.h"#include "pwm.h"
 int main(void)
 {    
    delay_init();            //延时函数初始化    
    LED_Init();         //初始化与LED连接的硬件接口
    TIM1_PWM_Init(199,7199);//(7200*200)/72000000=0.02=20ms
    while(1)
    {   
    TIM_SetCompare1(TIM1,190); //45度,1ms
     delay_ms(1000); 
    TIM_SetCompare1(TIM1,185); //90,1.5ms
     delay_ms(0100);        
    } 
}

驱动3个舵机,需要3个定时器PWM通道来控制。

温馨提示:答案为网友推荐,仅供参考