From 9ff35110c0d55f0c5f3dbb3453301283a1e8de42 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期一, 04 十一月 2024 09:51:40 +0800 Subject: [PATCH] 增加串口打印LOG提示电量,并修复亏电情况下不进入低功耗问题 --- keil/sn74hc595.c | 91 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 87 insertions(+), 4 deletions(-) diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c index 9f2e736..31ee631 100644 --- a/keil/sn74hc595.c +++ b/keil/sn74hc595.c @@ -41,14 +41,33 @@ } 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) -{ *state=~*state; +{ if(*state==0) + *state=1; + else { + *state=0; + } update_led_power_state(); - delay_us(100); - *state=~*state; + delay_us(1000); + if(*state==0) + *state=1; + else { + *state=0; + } + update_led_power_state(); +} + +void gps_led_on(void) +{ + gps_success_state=1;//uwb亮起 + update_led_power_state(); +} +void gps_led_off(void) +{ + gps_success_state=0;//uwb灭 update_led_power_state(); } void uwb_led_on(void) @@ -60,4 +79,68 @@ { uwb_state=0;//uwb灭 update_led_power_state(); +} +void air780_led_on(void) +{ + air780_success_state=1;//uwb亮起 + update_led_power_state(); +} +void air780_led_off(void) +{ + 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; + } + } } \ No newline at end of file -- Gitblit v1.9.3