mv-bms/Core/Src/PWM_Control.c

31 lines
601 B
C

#include "PWM_Control.h"
uint8_t timer2_running = 0;
TIM_HandleTypeDef* pwmtimer2;
void PWMControl_init( TIM_HandleTypeDef* timer2)
{
pwmtimer2 = timer2;
PWMControl_UpdatePWMs(0);
}
void PWMControl_UpdatePWMs(uint8_t pwrgndfans)
{
pwmtimer2->Instance->CCR3 = pwrgndfans << 8;
if (timer2_running) {
if ((pwrgndfans == 0)) {
timer2_running = 0;
HAL_TIM_PWM_Stop(pwmtimer2, TIM_CHANNEL_3);
}
} else {
if ( (pwrgndfans != 0)) {
timer2_running = 1;
HAL_TIM_PWM_Start(pwmtimer2, TIM_CHANNEL_3);
}
}
}