使用PB9引脚复用功能,时钟为72mHz,舵机控制需要一个周期为20ms=20000us。
舵机引脚图(借鉴)
时钟寄存器配置部分
TIM_TimeBaseInitTypeDef.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInitTypeDef.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitTypeDef.TIM_Period=1999;
TIM_TimeBaseInitTypeDef.TIM_Prescaler=71;
TIM_TimeBaseInit( TIM4, &TIM_TimeBaseInitTypeDef);
TIM_OCInitTypeDef.TIM_OCMode = TIM_OCMode_PWM1; // 配置为PWM模式1
TIM_OCInitTypeDef.TIM_OutputState = TIM_OutputState_Enable; // 输出使能
TIM_OCInitTypeDef.TIM_OCPolarity = TIM_OCPolarity_High; // 输出通道电平极性配置
TIM_OC4Init(TIM4, &TIM_OCInitTypeDef); //初始化输出口4
TIM_Cmd(TIM4, ENABLE);//使能时钟
转换为角度控控制
TIM_SetCompare4( TIM4, (uint16_t)(Angle/180)*2000+500);//0度为0.5ms 45度为1ms