From b0b6c44f2adbbbac2711f4531ef552e15a1e8b45 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期一, 10 三月 2025 16:03:26 +0800
Subject: [PATCH] 对比poll_rx_en_start_u32这个的值的代码

---
 keil/lora_3029.c |   79 ++++++++++++++++++++++-----------------
 1 files changed, 44 insertions(+), 35 deletions(-)

diff --git a/keil/lora_3029.c b/keil/lora_3029.c
index bdf3025..bd1a636 100644
--- a/keil/lora_3029.c
+++ b/keil/lora_3029.c
@@ -164,10 +164,13 @@
 extern uint32_t freq_list[4];
 extern uint8_t DMA_RXBuf_BT[200];
 extern uint8_t report_ancnum;
+extern uint8_t report_ancnum_bt;
+uint32_t BT_SEND_flag=0;
+uint8_t BT_NUM=0;
 void LoraReportPoll(void)
 {
     // delay_ms(100);
-	uint8_t report_ancnum_bt=0;
+
 #ifdef _USE_BAR
     GetPressAndHeight();
     intheight = Height*100;
@@ -221,21 +224,26 @@
         }
     }
     
-    if(report_ancnum>LORA_REPORT_MAXANC_NUM)    //考虑lora传输时间,最多发送10个基站数据。
-        report_ancnum = LORA_REPORT_MAXANC_NUM;
+    if(report_ancnum>LORA_REPORT_MAXANC_NUM)	                              //考虑lora传输时间,最多发送10个基站数据。
+		{
+      report_ancnum = LORA_REPORT_MAXANC_NUM;
+		} 		  
+				
 #ifdef USE_GPS
     lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_GPS;
     lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+30;
 #else
     lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG;
-    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*report_ancnum_bt+ANCID_IDX;
+    lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+ANCID_IDX;
 #endif
     memcpy(&lora_sendbuffer[SOURCE_ID_IDX],&g_com_map[DEV_ID],2);
     memcpy(&lora_sendbuffer[DEST_ID_IDX],&wg_report_id,2);
     lora_sendbuffer[SEQNUM_IDX] = seq_num++;
     lora_sendbuffer[BAT_IDX] = bat_percent;
 		//GET_USERKEY这个是那个lora——busy那个引脚
-		
+//		lora_sendbuffer[STATE_IDX]=0x01;
+//		lora_sendbuffer[GATEWAY_CHANL]=0x02;
+//		lora_sendbuffer[CHANL_NUM]=0x03;
    // lora_sendbuffer[STATE_IDX] = !GET_USERKEY|stationary_flag<<1;
 #ifdef USE_GPS
     memcpy(&lora_sendbuffer[GPS_JINGDU_IDX],&gps_jingdu,8);
@@ -253,37 +261,38 @@
     lora_sendbuffer[ANCNUM_IDX] = report_ancnum;
     memcpy(&lora_sendbuffer[ANCID_IDX],report_ancid,report_ancnum*2);
     memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*2],report_ancdist,report_ancnum*2);
-		
-    uint8_t LORA_RETRANSNUSSION_BT=0;
-    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*2+1;
+		uint8_t LORA_RETRANSNUSSION_BT=0;
+		BT_NUM=DMA_RXBuf_BT[0];
+		if(0<BT_NUM&&BT_NUM<11)
+		{
+	  lora_sendbuffer[MSG_TYPE_IDX] = LORA_MSGTYPE_TAGMSGTOWG_BT;
+    LORA_RETRANSNUSSION_BT=ANCID_IDX+report_ancnum*4;
 		//LORA_RETRANSNUSSION_BT   report_ancnum_bt
-		lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; 																				  	  					//蓝牙上传标识符
-		DMA_RXBuf_BT[0]=report_ancnum_bt;																														  					//蓝牙基站数量
-    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT],&DMA_RXBuf_BT[1],report_ancnum_bt*2); 									//基站ID
-    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+report_ancnum_bt*2],&DMA_RXBuf_BT[1+report_ancnum_bt*2],report_ancnum_bt*2);//基站距离
+		lora_sendbuffer[LORA_RETRANSNUSSION_BT] = 0x2D; 		//蓝牙上传标识符
+    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+1],&DMA_RXBuf_BT[0],BT_NUM*2+1); 									//基站ID
+    memcpy(&lora_sendbuffer[LORA_RETRANSNUSSION_BT+BT_NUM*2+2],&DMA_RXBuf_BT[1+BT_NUM*2],BT_NUM*2);//基站距离		
+		lora_sendbuffer[MSG_LENGTH] = 4*report_ancnum+4*BT_NUM+ANCID_IDX+2;
+		}
 		if(lora_sendbuffer[LORA_RETRANSNUSSION_BT]==0x2D)
 		{
-		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum_bt+4*report_ancnum+ANCID_IDX+1);
-		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum_bt*4+report_ancnum*4+2],&checksum,2);
+		checksum = Checksum_u16(lora_sendbuffer,4*BT_NUM+4*report_ancnum+ANCID_IDX+2);
+		memcpy(&lora_sendbuffer[ANCID_IDX+BT_NUM*4+report_ancnum*4+2],&checksum,2);
+		BT_SEND_flag++;
+		LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+4,0);
 		}
 		else
 		{
 		checksum = Checksum_u16(lora_sendbuffer,4*report_ancnum+ANCID_IDX);
 		memcpy(&lora_sendbuffer[ANCID_IDX+report_ancnum*4],&checksum,2);
+		LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+BT_NUM*4+2,0);
 		}
-    
-		
-		
-		
-		//rf_enter_continous_tx();
-//    LORA_3029_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2);
-    LORA_3029_SINGLE_SEND(lora_sendbuffer,ANCID_IDX+report_ancnum*4+report_ancnum_bt*2+4,0);
-		
-//			rf_single_tx_data(lora_sendbuffer,ANCID_IDX+report_ancnum*4+2,2);
-    //rf_enter_continous_rx();
 
+
+
+		memset(DMA_RXBuf_BT, 0,200);
+		memset(&lora_sendbuffer[ANCID_IDX],0,200);
     //LED_TB_ON;
-   // bat_percent=Get_Battary();
+
     
     for(uint8_t i=0;i<3;i++)
     recnum[i] = 0;
@@ -415,19 +424,19 @@
          //  group_min_dist[group_id] = 0xffff;
          //   Radio.Standby();
 						//rf_antenna_close();
-						rf_set_mode(RF_MODE_STB3);
-						uint32_t para;
+//						rf_set_mode(RF_MODE_STB3);
+//						uint32_t para;
 //						frqe=((UWB_CHANNEL_FRQ+group_id)*100000);
-						para=freq_list[1] * 100000;
+//						para=freq_list[1] * 100000;
 ////						rf_set_default_para(frqe,UWB_CHANNEL_SF);
 //						rf_set_carrier_wave_off();
-//			      rf_set_carrier_wave_on();
-						rf_set_freq(para);
-						rf_set_sf(5);
-//						rf_set_tx_power(para);
-//			      rf_set_carrier_wave_freq(freq_list[1] * 100000);
-            //SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
-					  dangqian_frqe=rf_read_freq();
+////			      rf_set_carrier_wave_on();
+//						rf_set_freq(para);
+//						rf_set_sf(5);
+////						rf_set_tx_power(para);
+////			      rf_set_carrier_wave_freq(freq_list[1] * 100000);
+//            //SwitchLoraSettings(UWB_CHANNEL_FRQ+group_id,UWB_CHANNEL_SF,0);
+//					  dangqian_frqe=rf_read_freq();
 				//		LoraSendComMap(WGRSP_RWTAG_READ);
 						
 						//delay_us(5000);

--
Gitblit v1.9.3