一、配置
二、代码
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
/*
* 控制舵机需要20ms的时基脉冲 所以周期时间是20ms (2000(arr) * 720(psc))/72us = 20000us = 20ms
* 0度 高电平时间 0.5ms 总时间20ms 就是20ms内只有0.5ms高电平 对应2000(arr)内前0-50是高电平
* 45度 高电平时间 1ms 总时间20ms 就是20ms内只有1ms高电平 对应2000(arr)内前0-100是高电平
* 90度 高电平时间 1.5ms 总时间20ms 就是20ms内只有1.5ms高电平 对应2000(arr)内前0-150是高电平
* 135度 高电平时间 2ms 总时间20ms 就是20ms内只有2ms高电平 对应2000(arr)内前0-200是高电平
* 180度 高电平时间 2.5ms 总时间20ms 就是20ms内只有2.5ms高电平 对应2000(arr)内前0-250是高电平
* */
int i=1000;
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,50); //0度
HAL_Delay(i);
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,100);//45度
HAL_Delay(i);
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,150);//90度
HAL_Delay(i);
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,200);//135度
HAL_Delay(i);
__HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_2,250);//180度
HAL_Delay(i);
/* USER CODE END WHILE */
三、注意事项
接线 电源接5V 舵机红接vcc 棕色接gnd 黄色接pwm输出接口
需要使用microusb接口供电 不然舵机无法转动