From 5b83d40633dc8a6dce22ac726619520d8bf36b22 Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 07 十一月 2024 11:19:11 +0800
Subject: [PATCH] 1.21,修复会死机的bug,现场测说还偶尔死机

---
 Src/application/dw_mbx_tag.c |   39 +++++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/Src/application/dw_mbx_tag.c b/Src/application/dw_mbx_tag.c
index 398d257..39689e2 100644
--- a/Src/application/dw_mbx_tag.c
+++ b/Src/application/dw_mbx_tag.c
@@ -35,7 +35,7 @@
 
 #define FZ_NEARBASENUM_INDEX    10
 #define FZ_NEARBASEID_INDEX		 11
-#define TAG_NUM_IN_SYS				25
+//#define TAG_NUM_IN_SYS				25
 
 #define TAG_KEEPTIMES           30
 #define REPORT_TAG_KEEPTIMES     5
@@ -78,24 +78,27 @@
     dwt_writetxdata(38, send_buffer, 0);//写入发送数据
     dwt_writetxfctrl(38, 0);//设定发送长度
     result = dwt_starttx(DWT_START_TX_DELAYED);
-
-//    start_time=HAL_LPTIM_ReadCounter(&hlptim1);
-//    timeout=100; //单位0.1ms
-//    end_time=start_time+(timeout<<2);
-//    if(end_time>=32768)
-//    {
-//        end_time-=32768;
-//    }
-//    current_time=HAL_LPTIM_ReadCounter(&hlptim1);
-    while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & SYS_STATUS_TXFRS ))///不断查询芯片状态直到接收成功或者出现错误
+    
+    if(result==0)
     {
-//        current_time=HAL_LPTIM_ReadCounter(&hlptim1);
-//        if(current_time>=end_time&&current_time<end_time+15000)
-//            break;
-    };
-    tagofflinetime[taglist_pos] = 0;
-//            printf("测距成功,序号%d,距离%d\r\n",frame_seq_nb2,tagdist_list[taglist_pos]);
-//            delay_ms(10);
+        start_time=HAL_LPTIM_ReadCounter(&hlptim1);
+        timeout=100; //单位0.1ms
+        end_time=start_time+(timeout<<2);
+        if(end_time>=32768)
+        {
+            end_time-=32768;
+        }
+        current_time=HAL_LPTIM_ReadCounter(&hlptim1);
+        while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & SYS_STATUS_TXFRS ))///不断查询芯片状态直到接收成功或者出现错误
+        {
+            current_time=HAL_LPTIM_ReadCounter(&hlptim1);
+            if(current_time>=end_time&&current_time<end_time+15000)
+                break;
+        };
+        tagofflinetime[taglist_pos] = 0;
+    //            printf("测距成功,序号%d,距离%d\r\n",frame_seq_nb2,tagdist_list[taglist_pos]);
+    //            delay_ms(10);
+    }
 }
 uint8_t report_ancnum;
 uint16_t report_ancdist[ANC_MAX_NUM],report_ancid[ANC_MAX_NUM];

--
Gitblit v1.9.3