From 8aa343c68337975234072baae5eda592487c4271 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期六, 16 八月 2025 18:29:41 +0800 Subject: [PATCH] 防丢手环V1.0demo版本实现一对多测距和发送震动信息 --- keil/sn74hc595.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 104 insertions(+), 4 deletions(-) diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c index 9f2e736..cd7001a 100644 --- a/keil/sn74hc595.c +++ b/keil/sn74hc595.c @@ -41,15 +41,44 @@ } 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 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) { @@ -60,4 +89,75 @@ { 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(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