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.
|
|
#include "ozone_work.h"
extern uint32_t g_frequency; extern uint32_t g_sys_sick; extern uint32_t g_duty[4]; uint32_t g_count_down_begin_sys_time = 0; int ozone_work_state = 0; // 0û�й�����1һֱ������2��ʱ����
void ozone_work_mode(int mode) { ozone_work_state = 1; port_fan_set(true); switch (mode) { case 0: gears_led_on(0); break; case 1: gears_led_on(1); break; case 2: gears_led_on(2); break; case 3: g_ozone_work_over(); //��������
break; default: break; } } int g_ozen_gears = 1; // M������Ϊ���ϵ���������Ĭ���´�����50%��PWM����
void set_ozen_gears(int ozen_gears) { /**
* @brief Construct a new switch object * ����pwm���� */ printf("g_sys_sick:%d\n",g_sys_sick); switch (ozen_gears) { case 0: set_pwm_frequency_duty(g_frequency, g_duty[0]); g_ozen_gears = 1; printf("pwm g_duty:%d", g_duty[0]); ozone_work_mode(0); break; case 1: set_pwm_frequency_duty(g_frequency, g_duty[1]); g_ozen_gears = 2; printf("pwm g_duty:%d",g_duty[1]); ozone_work_mode(1); break; case 2: set_pwm_frequency_duty(g_frequency, g_duty[2]); g_ozen_gears = 3; printf("pwm g_duty:%d",g_duty[2]); ozone_work_mode(2); break; case 3: set_pwm_frequency_duty(g_frequency, g_duty[3]); g_ozen_gears = 0; printf("pwm g_duty:%d", g_duty[3]); ozone_work_mode(3); break; } }
/**
* @brief * * @param led_number 0������ 1���̵� 2������ 3ȫ�� */ void gears_led_on(uint8_t led_number) { switch (led_number) { case 0: port_led_r_set(true); port_led_g_set(false); port_led_b_set(false); break; case 1: port_led_r_set(false); port_led_g_set(true); port_led_b_set(false); break; case 2: port_led_r_set(false); port_led_g_set(false); port_led_b_set(true); break; case 3: port_led_r_set(false); port_led_g_set(false); port_led_b_set(false); break; default: break; } }
int time_key_press_frequency = 0; //ÿ����4�ν�����0
uint32_t g_ozone_work_time = 0;
void set_ozone_work_time(void) { if (!ozone_work_state) { //�������ڲ��ǹ���״̬��ֱ�ӿ�ʼ����
set_ozen_gears(0); } //��ȡ���ڵ�ʱ�䣬��Ϊ�жϵ���ʱʱ���Ļ�
g_count_down_begin_sys_time = get_sys_ticket(); ozone_work_state = 2; //���ڶ�ʱ����״̬
port_fan_set(1); //���ȿ�ʼ����
printf("��ʱ��ʼg_sys_sick:%d\n",g_sys_sick); switch (time_key_press_frequency) { case 0: //��Сʱ
// g_ozone_work_time = 5000;//5s
// g_ozone_work_time = 72000000;
g_ozone_work_time = 7200000; printf("g_ozone_work_time:%d", g_ozone_work_time); time_key_press_frequency = 1; timing_led_on(0); break; case 1: //��Сʱ
// g_ozone_work_time = 100000;
g_ozone_work_time = 14400000; printf("g_ozone_work_time:%d", g_ozone_work_time); time_key_press_frequency = 2; timing_led_on(1); break; case 2: //��Сʱ
// g_ozone_work_time = 150000;
g_ozone_work_time = 21600000; printf("g_ozone_work_time:%d", g_ozone_work_time); time_key_press_frequency = 3; timing_led_on(2); break; case 3: //��Сʱ
// g_ozone_work_time = 200000;
// g_ozone_work_time = 5000;//5s
g_ozone_work_time = 28800000; printf("g_ozone_work_time:%d", g_ozone_work_time); time_key_press_frequency = 4; timing_led_on(3); break; case 4: ozone_work_state = 1; //һֱ����
printf("close timing"); timing_led_on(4); time_key_press_frequency = 0; break; default: break; } }
void g_ozone_work_over(void) { /**
* @brief ��ʱ���� * */ set_pwm_frequency_duty(g_frequency, g_duty[3]); //�ر�PWM����
ozone_work_state = 0; gears_led_on(3); //�ر�RGB
timing_led_on(4); //�ر�4��led��
time_key_press_frequency = 0; //��time_key_press_frequency=0�´ΰ������´Ӷ�ʱ2Сʱ��ʼ
g_ozen_gears = 0; // g_ozen_gears=0�´ΰ������´����ߵ���ʼ
port_fan_set(false); //���Ƚ�������
}
/**
* @brief ��ʱ�������� * */ void is_ozone_work_time_over(void) { if (port_haspassedms(g_count_down_begin_sys_time) >= g_ozone_work_time) { g_count_down_begin_sys_time = get_sys_ticket(); g_ozone_work_over(); printf("time over\r\n"); } }
/**
* @brief ��ʱʱ���趨����Ӧָʾ������ * * @param led_number 0��led0 1��led1 2��led2 3��led3 4ȫ������������������ */ static void timing_led_on(uint8_t led_number) { switch (led_number) { case 0: port_led0_set(true); port_led1_set(false); port_led2_set(false); port_led3_set(false); break; case 1: port_led0_set(false); port_led1_set(true); port_led2_set(false); port_led3_set(false); break;
case 2: port_led0_set(false); port_led1_set(false); port_led2_set(true); port_led3_set(false); break;
case 3: port_led0_set(false); port_led1_set(false); port_led2_set(false); port_led3_set(true); break; case 4: port_led0_set(false); port_led1_set(false); port_led2_set(false); port_led3_set(false); break; default: break; } }
|