版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tomlucky1024/article/details/84231340
配置cub
代码
https://github.com/qdtom/diy/tree/master/stm32/stm32f103rct6_hal_duoji2
int main(void)
{
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
/* MCU Configuration----------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM1_Init();
/* USER CODE BEGIN 2 */
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1); //一定要手动开启!!!!
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,5);
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,10);
//
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,15);
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,20);
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,24);
//
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,20);
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,15);
//HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,10);
// HAL_Delay(1000);
// __HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,5);
HAL_Delay(1000);
__HAL_TIM_SET_COMPARE(&htim1,TIM_CHANNEL_1,20);
}
/* USER CODE END 3 */
}
其他用到的东西
接口:
占空比
角度和占空比关系:
舵机的控制一般需要一个20ms的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分。以180度角度舵机为例,那么对应的控制关系是这样的:
0.5ms————–0度;
1.0ms————45度;
1.5ms————90度;
2.0ms———–135度;
2.5ms———–180度;