31 lines
601 B
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);
|
|
}
|
|
}
|
|
}
|