You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

50 lines
1.4 KiB

#ifndef _pwm_module_H_
#define _pwm_module_H_
#include "lib_config.h"
#include "light.h"
#include "ozone_work.h"
#include "port.h"
#include "system_ES8P5066.h"
typedef struct {
uint32_t s_hardware_frequency; // 单位Khz,保存现在的PWM频率
uint32_t s_hardware_duty; // 保存现在的PWM占空比
uint32_t s_large_period; // 单位ms,保存现在的定时周期
uint32_t s_large_duty; // 保存现在的定时占空比
} pwm_message_t;
typedef struct {
uint32_t hardware_frequency; // 单位Khz,保存关机前的PWM频率
uint32_t hardware_duty; // 保存关机前的PWM占空比
uint32_t large_period; // 单位ms,保存关机前的定时周期
uint32_t large_duty; // 保存关机前的定时占空比
} shutdown_before_message_t;
void HOOK_pwm_module_set_pwm_duty(uint32_t frequency, uint32_t duty);
void HOOK_pwm_stop(void);
bool HOOK_pwm_is_enable(void);
void pwm_module_set_pwm_output_1(uint32_t large_period, uint32_t large_duty);
void pwm_module_set_pwm_output_2(uint32_t hardware_period,
uint32_t hardware_duty, uint32_t large_period,
uint32_t large_duty);
void ozone_pwm_control_set_pwm_duty(uint32_t frequency, uint32_t duty);
void pwm_module_stop_pwm(void);
void update_large_period(void);
void pwm_module_loop(void);
#endif
// 2小时
// 50
// 80
// 3小时
// 1小时
// if(haspassed(beigin)/小时%2<=1){
// 关
// }else{
// }