Files
QD4C-firmware/app/by_fan_control.c

66 lines
2.4 KiB
C
Raw Normal View History

#include "by_fan_control.h"
#include "zf_common_headfile.h"
2024-01-16 20:03:21 +08:00
#define Fan_pwm_up1 TIM8_PWM_MAP0_CH1_C6
#define Fan_pwm_up2 TIM8_PWM_MAP0_CH2_C7
#define Fan_pwm_power1 TIM4_PWM_MAP1_CH3_D14
#define Fan_pwm_power2 TIM4_PWM_MAP1_CH4_D15
#define Fan_pwm_power3 TIM4_PWM_MAP1_CH2_D13
#define Fan_pwm_power4 TIM4_PWM_MAP1_CH1_D12
uint32_t myclip(uint32_t x, uint32_t low, uint32_t up)
{
return (x > up ? up : x < low ? low
: x);
}
void by_pwm_init(void)
{
2024-01-16 20:03:21 +08:00
pwm_init(Fan_pwm_up1, 50, 500); // 浮力风扇左
pwm_init(Fan_pwm_up2, 50, 500); // 浮力风扇右
2024-01-16 20:03:21 +08:00
pwm_init(Fan_pwm_power1, 50, 500); // 动力风扇左1
pwm_init(Fan_pwm_power2, 50, 500); // 动力风扇右1
pwm_init(Fan_pwm_power3, 50, 500); // 动力风扇左2
pwm_init(Fan_pwm_power4, 50, 500); // 动力风扇右2
// system_delay_ms(3000);
// // pwm_init(Fan_pwm_power1, 50, 1000); // 动力风扇左1
// // pwm_init(Fan_pwm_power2, 50, 1000); // 动力风扇右1
// // pwm_init(Fan_pwm_power3, 50, 1000); // 动力风扇左2
// // pwm_init(Fan_pwm_power4, 50, 1000); // 动力风扇右2
// // system_delay_ms(5000);
// pwm_set_duty(Fan_pwm_power1, 600);
// pwm_set_duty(Fan_pwm_power2, 600);
// pwm_set_duty(Fan_pwm_power3, 600);
// pwm_set_duty(Fan_pwm_power4, 600);
// while(1);
}
2024-01-16 20:03:21 +08:00
void by_pwm_update_duty(uint32_t update_pwm_duty1, uint32_t update_pwm_duty2)
{
2024-01-16 20:03:21 +08:00
update_pwm_duty1=myclip(update_pwm_duty1, 500, 900);
update_pwm_duty2=myclip(update_pwm_duty2, 500, 900);
pwm_set_duty(Fan_pwm_up1, update_pwm_duty1);
pwm_set_duty(Fan_pwm_up2, update_pwm_duty2);
}
2024-03-02 16:05:24 +08:00
/**
* @brief
*
* @param power_pwm_duty_l1
* @param power_pwm_duty_r1
* @param power_pwm_duty_l2
* @param power_pwm_duty_r2
*/
2024-01-16 20:03:21 +08:00
void by_pwm_power_duty(uint32_t power_pwm_duty_l1, uint32_t power_pwm_duty_r1, uint32_t power_pwm_duty_l2, uint32_t power_pwm_duty_r2)
{
2024-01-16 20:03:21 +08:00
power_pwm_duty_l1=myclip(power_pwm_duty_l1, 500, 900);
power_pwm_duty_r1=myclip(power_pwm_duty_r1, 500, 900);
power_pwm_duty_l2=myclip(power_pwm_duty_l2, 500, 900);
power_pwm_duty_r2=myclip(power_pwm_duty_r2, 500, 900);
pwm_set_duty(Fan_pwm_power1, power_pwm_duty_l1);
pwm_set_duty(Fan_pwm_power2, power_pwm_duty_r1);
pwm_set_duty(Fan_pwm_power3, power_pwm_duty_l2);
pwm_set_duty(Fan_pwm_power4, power_pwm_duty_r2);
}