借鉴:开源STM32使用HAL库开发舵机云台_哔哩哔哩_bilibili
pwm = 主频 / ((ARR+1)*(PSC+1))(单位:Hz)
比如时钟设置为72M,那么预分频器设置为719,那么就是计时器每次计数10微妙um,对应50Hz(1HZ=1S=0.1ms=10um),重装载值0-65535之间,假如设置为1999,也就是20000微秒=20毫秒,每20毫秒一个周期(舵机设置为20ms才能转角度),
占空比 = CCR / (ARR + 1)
假如CCR为100,也就是COMPARE是100,对于舵机,占空比=100/(2000)=0.05=5%占空比
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,100);
第三个实参就是CCR的值
再算时间:0.05*20ms=1ms
1ms是高电平时间
对应舵机转动的角度:
0.5ms: -90° CRR为50时
1ms: -45° CRR为100时
1.5ms: 0° CRR为150时
2ms: 45° CRR为200时
2.5ms: 90° CRR为250时