#include "pwm.h" /** * @param htim TIM handle * @param Channel TIM Channels to be enabled * This parameter can be one of the following values: * @arg TIM_CHANNEL_1: TIM Channel 1 selected * @arg TIM_CHANNEL_2: TIM Channel 2 selected * @arg TIM_CHANNEL_3: TIM Channel 3 selected * @arg TIM_CHANNEL_4: TIM Channel 4 selected * @param arr specifies the Counter register new value. * @param crr specifies the Capture Compare register new value. */ void Tim_PWM(TIM_HandleTypeDef *htim,uint32_t channel,uint32_t arr,uint32_t crr) { uint32_t ARR,Channel,CRR=0; switch(channel) { case 1: Channel=TIM_CHANNEL_1; break; case 2: Channel=TIM_CHANNEL_2; break; case 3: Channel=TIM_CHANNEL_3; break; case 4: Channel=TIM_CHANNEL_4; break; default: Channel=TIM_CHANNEL_ALL; } // if(arr==NULL) // { // ARR=100-1; // }else ARR=arr-1; if(crr>99) { CRR=99; }else if (crr<1) { CRR=0; }else CRR=crr; //__HAL_TIM_SET_AUTORELOAD(htim, ARR); /*设置定时器自动加载值,修改频率*/ __HAL_TIM_SetCompare(htim,Channel,CRR); /*设置占空比*/ }