main.c文件代码
/* USER CODE BEGIN 1 */
uint16_t dutycycle=0;
uint8_t dir=0;
/* USER CODE END 1 */
/* USER CODE BEGIN 2 */
// HAL_TIM_PWM_Start(&htim22, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim22, TIM_CHANNEL_2);
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
#if 0
while(dutycycle<1000)
{
dutycycle++;
// __HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_1,dutycycle); //库操作方式
__HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_2,dutycycle); //库操作方式
// TIM22->CCR2 = dutycycle; //寄存器操作方式
HAL_Delay(1);
}
while(dutycycle)
{
dutycycle--;
// __HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_1,dutycycle); //库操作方式
__HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_2,dutycycle); //库操作方式
// TIM22->CCR2 = dutycycle; //寄存器操作方式
HAL_Delay(1);
}
HAL_Delay(100);
// HAL_TIM_PWM_Stop(&htim22, TIM_CHANNEL_1); //这里根据具体情况来定,禁用pwm
// HAL_TIM_PWM_Stop(&htim22, TIM_CHANNEL_2); //
#else
HAL_Delay(2);
if(dir) dutycycle++;
else dutycycle--;
if(dutycycle>1000) dir = 0;
else if(dutycycle<=1000) dir = 1;
// __HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_1,dutycycle); //库操作方式
__HAL_TIM_SET_COMPARE(&htim22,TIM_CHANNEL_2,dutycycle); //库操作方式
#endif
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
|