| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #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); /*设置占空比*/
-
- }
|