BackLight.c 3.21 KB
Newer Older
1 2 3 4 5 6 7

#include "BackLight\BackLight.h"
#include "Components.h"
#include "Application.h"
#include "TrmerM\TrmerM.h"


8
#define BACK_LIGHT_DAY 200
9
#define  openLED_flag  ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))
10
uint8_t interact_PWM_Low_Duty = 0;
11

12 13
void BackLight_Process(void)
{
14
    if (openLED_flag && Charge_OFF_Flag != 2)
15
    {
郑萍's avatar
郑萍 committed
16
        TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, BACK_LIGHT_DAY);
17
        //电量
郑萍's avatar
郑萍 committed
18
        if ((Get_EleDial_AllSOC_lenth() == 2) || (checkself_seg_Flag == 1))
19
        {
20 21
            RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_HIGH);//百位
            RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_HIGH); 
22 23 24
        }
        else if(Get_EleDial_AllSOC_lenth() == 1)
        {
25 26
            RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
            RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_HIGH); 
27 28 29
        }
        else
        {
30 31
            RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
            RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_LOW); 
32 33
        }
        
34 35 36 37
    }
    else
    {
        TimerM_PWM_set_duty(TIMERM_COUNTER1, TIMERM_CHB, 0);
38 39
        RTE_GPIO_Set_Level(RTE_GPIO_PORT03_PIN00, RTE_GPIO_LEVEL_LOW);
        RTE_GPIO_Set_Level(RTE_GPIO_PORT02_PIN04, RTE_GPIO_LEVEL_LOW); 
40 41 42 43 44
    }
}

void BackLight_Clock_All_Process(void)
{
郑萍's avatar
郑萍 committed
45
    if (openLED_flag && (Charge_OFF_Flag == 0))
46 47
    {
        //总计时间
郑萍's avatar
郑萍 committed
48
        if ((Get_Clock_All_lenth() == 2)|| (checkself_seg_Flag == 1))
49
        {
50 51
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN05, RTE_GPIO_LEVEL_HIGH);     //总计工作时长统计千位_MCU_OUT
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN06, RTE_GPIO_LEVEL_HIGH);     //总计工作时长统计百十位_MCU_OUT
52 53 54
        }
        else if(Get_Clock_All_lenth() == 1)
        {
55 56
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN05, RTE_GPIO_LEVEL_LOW);     //总计工作时长统计千位_MCU_OUT
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN06, RTE_GPIO_LEVEL_HIGH);     //总计工作时长统计百十位_MCU_OUT
57 58 59
        }
        else
        {
60 61
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN05, RTE_GPIO_LEVEL_LOW);     //总计工作时长统计千位_MCU_OUT
            RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN06, RTE_GPIO_LEVEL_LOW);     //总计工作时长统计百十位_MCU_OUT 
62 63 64 65 66
        }
        
    }
    else
    {
67 68
        RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN05, RTE_GPIO_LEVEL_LOW);     //总计工作时长统计千位_MCU_OUT
        RTE_GPIO_Set_Level(RTE_GPIO_PORT01_PIN06, RTE_GPIO_LEVEL_LOW);     //总计工作时长统计百十位_MCU_OUT 
69 70 71 72 73
    }
}

void Interact_Light_Process(void)
{
郑萍's avatar
郑萍 committed
74
    if (openLED_flag && (Charge_OFF_Flag == 0))
75
    {
郑萍's avatar
郑萍 committed
76
        TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, interact_PWM_Low_Duty * 10);
77 78 79
    }
    else
    {
80
        TimerM_PWM_set_duty(TIMERM_COUNTER0, TIMERM_CHD, 1000);
81 82
    }
}
83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
uint8_t Get_Interact_Light_State(void)
{
    uint8_t stata = 0x0;
    if(interact_PWM_Low_Duty == 0)
    {
        stata = 0x1;
    }
    else if(interact_PWM_Low_Duty == 30)
    {
        stata = 0x2;
    }
    else if(interact_PWM_Low_Duty == 50)
    {
        stata = 0x3;
    }
    return stata;
}