diff --git a/APP/main.c b/APP/main.c index 68e51c6..ecad744 100644 --- a/APP/main.c +++ b/APP/main.c @@ -136,6 +136,7 @@ static void mf_process_timer_key(key_t *key) { if (this_device.time_led_num > 4) { this_device.time_led_num = this_device.time_led_num - 4; } + this_device.time_led_start_time = systicket_get_now_ms(); } return; @@ -172,7 +173,15 @@ void device_level_process() { } } //定时处理 -void device_time_process() {} +void device_time_process() { + printf("led_num = %d,", this_device.time_led_num); + if (this_device.time_led_num > 0) { + if (systicket_haspassedms(this_device.time_led_start_time) > 5000) { + this_device.time_led_start_time = systicket_get_now_ms(); + this_device.time_led_num = this_device.time_led_num - 1; + } + } +} void hcis_shcedule_process() { if (!this_device.power) { @@ -207,6 +216,8 @@ void configuration_shcedule() { time_set_led_state(this_device.time_led_num, led_state); led_state = !led_state; } + } else { + time_set_led_state(this_device.time_led_num, true); } } diff --git a/APP/this_device.h b/APP/this_device.h index f0a8a0f..479a2bc 100644 --- a/APP/this_device.h +++ b/APP/this_device.h @@ -22,5 +22,6 @@ typedef struct { uint32_t configuration_start_time; uint8_t time_led_num; - + uint32_t time_led_start_time; + } ThisDevice_t;