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
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{
|
|
|
|
// }
|