From 9aa8760604c398bc3a7a19b26c9e06de776f11df Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期四, 29 五月 2025 18:13:05 +0800 Subject: [PATCH] 完成免布线标签地板基本测试,修改串口为串口0,有修改为功率固件flag因中断多次触发问题,未加防抖保护,升级未测试 --- keil/uwb_app.c | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-) diff --git a/keil/uwb_app.c b/keil/uwb_app.c index 9ee2b38..d07374d 100644 --- a/keil/uwb_app.c +++ b/keil/uwb_app.c @@ -477,6 +477,7 @@ } uint8_t position; +extern uint8_t change_buffer_flag; uint8_t Anchor_RecNearPoll(uint8_t ancrec_nearbasepos)//根据自己是否为新基站定制消息去发送,根据是否抢占判断 { temp_count2=poll_rx_en_start_u32; @@ -485,7 +486,11 @@ memcpy(&send_buffer[ANCHOR_ID_IDX],&dev_id,2);//自身id memcpy(&send_buffer[TAG_ID_IDX],&tag_id_recv,2);//接受者id send_buffer[MESSAGE_TYPE_IDX]=MBX_RESPONSE; - + if(change_buffer_flag) + { + send_buffer[MESSAGE_CONTROL_TYPE_FLAG]=1; + change_buffer_flag=0; + } // if(rec_nearbase_num == ancrec_nearbasepos)//抢占模式自己为新基站 // { // random_time = (phy_timer_count_get()%100);//多基站抢占一个位置时避免一个也收不到的情况就每一个随机错开几十uS @@ -509,6 +514,7 @@ temp_count3= phy_timer_count_get(); flag_temp2=uwb_tx(send_buffer, 40,1 ,resp_tx_en_start_u32);//立即发送测试size大小 tagofflinetime[taglist_pos] = 0;//更新标签通信 + memset( send_buffer,0,40);//多加清除数组逻辑 // temp_count1=phy_timer_count_get(); //while(mac_is_busy()); //gpio_pin_clr(SCL_PIN); @@ -571,6 +577,12 @@ } } uint16_t g_com_receive_id; +typedef enum +{UWB_UNLINE=0, + VOLTAGE_NORMAL, + VOLTAGE_ABNORMAL, +} UWB_State; +UWB_State Voltage_State=UWB_UNLINE; void CloseUWB(void) { uwb_rx_force_off(1); @@ -651,6 +663,12 @@ { flag_recsuccess = 1; wltag_state=RANGE;//成功后从search切换为range memcpy(&g_com_receive_id,&rx_buf[TAG_ID_IDX],2); + if(rx_buf[BATTARY_IDX]) + { + Voltage_State=VOLTAGE_NORMAL; + }else{ + Voltage_State=VOLTAGE_ABNORMAL; + } //temp_count2=phy_timer_count_get(); uwb_losttimer=0;//成功测距清0 lost时间 frame_seq_nb2 = rx_buf[SEQUENCE_IDX];//获取包序 -- Gitblit v1.9.3