From 1e600c7a5034b8087ac463331d7b8f4f5dd84413 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期三, 13 十一月 2024 10:27:37 +0800 Subject: [PATCH] 1.14,改为2s一次发射 --- Src/application/dw_app.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Src/application/dw_app.c b/Src/application/dw_app.c index b34d8d3..b0ef949 100644 --- a/Src/application/dw_app.c +++ b/Src/application/dw_app.c @@ -250,24 +250,31 @@ typedef enum{ Next_Poll_RANGE, Next_Poll_LORASYNC, }nextpoll_enum; -nextpoll_enum next_poll_state; +nextpoll_enum next_poll_state = Next_Poll_RANGE; extern uint8_t sync_lost_count; +uint8_t send_count; +#define FASONG_TIME 2 void Tag_App(void)//发送模式(TAG标签) { SyncStateSwitch(); if(next_poll_state==Next_Poll_RANGE) //读取本次的工作状态 测距还是同步 { + current_count=HAL_LPTIM_ReadCounter(&hlptim1); - + if(send_count++%FASONG_TIME==0) + { SwitchLoraSettings(UWB_CHANNEL_FRQ+g_com_map[GROUP_ID],5,g_com_map[LORA_POWER]); //切换lora接收频点 memcpy(&lora_start_poll_buff[ANC_ID_IDX],&g_com_map[DEV_ID],2); + LED_TB_ON; Radio.Send(lora_start_poll_buff, 4); UWB_Wkup(); - delay_us(700); + delay_us(1000); MBXANCPoll(); - dwt_entersleep(); + dwt_entersleep(); + } next_poll_state = Next_Poll_LORASYNC; + }else{ LoraSyncRecPoll(); if(GetRangeState()) //获取当前测距状态,是否开启。如果开启下次为测距,否为同步 @@ -285,7 +292,7 @@ // target_count = GetLoraSyncCount()-(18000)/LPTIMER_LSB+sync_lost_count*1000; // }else { - target_count = GetLoraSyncCount()-(18000)/LPTIMER_LSB; //比上次收到的lora提前17ms唤醒(lora接收大概17ms),如果在同步间隔内,则会快速进入休眠。 + target_count = GetLoraSyncCount()-(23000)/LPTIMER_LSB; //比上次收到的lora提前17ms唤醒(lora接收大概17ms),如果在同步间隔内,则会快速进入休眠。 } if(target_count<0) target_count+=32768; -- Gitblit v1.9.3