keil/sn74hc595.c
@@ -16,11 +16,14 @@
    gpio_pin_set_dir(RCLK_PIN , GPIO_DIR_OUT, 0);
    io_pull_set(RCLK_PIN , IO_PULL_DOWN, IO_PULL_UP_LEVEL4);
}
uint8_t data_temp,temp_bit;
void IO_LED_control_change(uint8_t data)
{
   data_temp=data;
   uint8_t temp;
    for(int i=0; i<8; i++) {
        uint8_t temp=data&1;
        temp=data&1;
            temp_bit=temp;
        if(temp)//写入低位数据
            SER_1;
        else
@@ -41,7 +44,7 @@
}
void update_led_power_state(void)
{
    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|chaging_state<<1|changed_state;
    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|red_charge_state<<1|green_charge_state;
    IO_LED_control_change(control_state);
}
void blink_led(uint8_t*state)
@@ -89,4 +92,58 @@
{
    air780_success_state=0;//uwb灭
    update_led_power_state();
}
void charge_red_on(void)
{
      red_charge_state=1;//充电红灯亮起
    update_led_power_state();
}
void charge_red_off(void)
{
      red_charge_state=0;//充电红灯熄灭
    update_led_power_state();
}
void charge_green_on(void)
{
      green_charge_state=1;//充电绿灯亮起
    update_led_power_state();
}
void charge_green_off(void)
{
      green_charge_state=0;//充电绿灯熄灭
    update_led_power_state();
}
void charge_state_change(void)
{
   if(gpio_pin_get_val(INPUT_5V_Pin))
   {
            if(bat_percent==100)
            {
            red_charge_state=0;
            green_charge_state=1;
            }else{
            red_charge_state=1;
            green_charge_state=0;
            }
            enbale_blink_flag=0;
            update_led_power_state();
   }else{
            if(bat_percent>15)
            {
            charge_green_off();
            charge_red_off();
               enbale_blink_flag=0;
            }else{
//                  green_charge_state=0;
//                  if(secondtask_count%2==0)
//                  {
//                     red_charge_state=0;
//                  }else{
//                     red_charge_state=1;
//                  }
//                  update_led_power_state();
               enbale_blink_flag=1;
                  }
         }
}