From 3529a847eaf2057928742178cca16eee57db31d0 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 15 八月 2025 19:52:47 +0800 Subject: [PATCH] 初步调好demo,会有丢失测距后回来回复测距大概率蜂鸣器一直震的现象未解决 --- keil/sn74hc595.c | 73 ++++++++++++++++++++++++++++++++++++ 1 files changed, 72 insertions(+), 1 deletions(-) diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c index 4dc9e9a..cd7001a 100644 --- a/keil/sn74hc595.c +++ b/keil/sn74hc595.c @@ -41,7 +41,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) @@ -70,6 +70,16 @@ gps_success_state=0;//uwb灭 update_led_power_state(); } +void motor_on(void) +{ + motor_power_state=0; + update_led_power_state(); +} +void motor_off(void) +{ + motor_power_state=1; + update_led_power_state(); +} void uwb_led_on(void) { uwb_state=1;//uwb亮起 @@ -89,4 +99,65 @@ { 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(active_flag) + { + if(bat_percent>15) + { + charge_green_on(); + charge_red_off(); + enbale_blink_flag=1; + }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; + } + }else{ + charge_green_off(); + charge_red_off(); + enbale_blink_flag=0; + } + } } \ No newline at end of file -- Gitblit v1.9.3