#include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "stm32f4xx_tim.h"
#define PWM_FREQUENCY 50 // 设置PWM频率为50Hz #define SERVO_MIN_ANGLE -90 // 舵机最小角度-90° #define SERVO_MAX_ANGLE 90 // 舵机最大角度90° #define SERVO_MIN_PULSE_WIDTH 1000 // 舵机最小脉宽(us) #define SERVO_MAX_PULSE_WIDTH 2000 // 舵机最大脉宽(us)
void Servo_Init(void); void Servo_SetAngle(int angle);
int main(void) { Servo_Init(); // 初始化舵机
while(1)
{
// 控制舵机从最小角度到最大角度
for(int angle = SERVO_MIN_ANGLE; angle <= SERVO_MAX_ANGLE; angle++)
{
Servo_SetAngle(angle);
Delay(1000); // 延时1秒
}
// 控制舵机从最大角度到最小角度
for(int angle = SERVO_MAX_ANGLE; angle >&#