Update PWM Drivers

這個提交存在於:
Newg 2022-10-21 16:25:45 +02:00
父節點 e6ac888a18
當前提交 7a1dd7bbdb
共有 2 個檔案被更改,包括 32 行新增0 行删除

查看文件

@ -278,6 +278,28 @@ void Set_PWM_PRCT(TIM_TypeDef * Timer, char Channel, int percent){
} }
void Set_Duty_Cycle(TIM_TypeDef * Timer , char Channel,uint16_t crr){
switch(Channel){
case 1:
Timer->CCR1 = crr;
break;
case 2:
Timer->CCR2 = crr;
break;
case 3:
Timer->CCR3 = crr;
break;
case 4:
Timer->CCR4 = crr;
break;
}
}
uint16_t Get_Max_Duty(TIM_TypeDef * Timer){
return Timer->ARR;
}

查看文件

@ -28,6 +28,16 @@ void MyTimer_Base_Stop(TIM_TypeDef * Timer );
void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (* IT_function) (void)); void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (* IT_function) (void));
void MyTimer_PWM(TIM_TypeDef * Timer, char Channel); void MyTimer_PWM(TIM_TypeDef * Timer, char Channel);
/**
* alpha = CRR/ARR, use Get_Max_Duty(Timer) to get ARR
*/
void Set_Duty_Cycle(TIM_TypeDef * Timer , char Channel,uint16_t crr);
/**
* Returns ARR
*/
uint16_t Get_Max_Duty(TIM_TypeDef * Timer);
void Set_PWM_PRCT(TIM_TypeDef * Timer, char Channel, int percent); void Set_PWM_PRCT(TIM_TypeDef * Timer, char Channel, int percent);