本程序是使用stm32f429的两个通用定时器TIM2和TIM3输出周期为20ms,也就是频率为50Hz的PWM,我们可以通过调整PWM的占空比,对舵机转动的角度进行控制,舵机转动的角度与PWM的占空比关系如下:
0.5ms-------------------------------------------0°
1.0ms------------------------------------------45°
1.5ms------------------------------------------90°
2.0ms------------------------------------------135°
2.5ms-------------------------------------------180°
下面是舵机控制代码的头文件编写
/**********************舵机的头文件编写************************/
/***************良好的头文件编写习惯有助于后期代码的移植****************/
#ifndef __BSP_DUOJIYUNTAI_H
#define __BSP_DUOJIYUNTAI_H
#include "stm32f4xx.h"
/* 通用定时器PWM输出 */
/* PWM输出引脚 */
#define GENERAL_OCPWM_PIN1 GPIO_Pin_5
#define GENERAL_OCPWM_GPIO_PORT1 GPIOA
#define GENERAL_OCPWM_GPIO_CLK1 RCC_AHB1Periph_GPIOA
#define GENERAL_OCPWM_PINSOURCE1 GPIO_PinSource5
#define GENERAL_OCPWM_AF1 GPIO_AF