From de542f653793306c903085bc3a1b590ce29caec8 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期四, 20 三月 2025 18:17:57 +0800
Subject: [PATCH] 时间同步BUG修复

---
 keil/include/main/main.c |   95 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 69 insertions(+), 26 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index d38c7de..90a9681 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -275,7 +275,7 @@
         MinuteTask();
     }
     //UWB更新列表
-    TagListUpdate();
+//    TagListUpdate();
     //GPS_Poll();
 		gps_power_state=1;//测试gps长开
     //UWB状态检测
@@ -297,22 +297,26 @@
         }
 
     }
-//    HIDO_TimerTick();
-    nomove_count++;
+    HIDO_TimerTick();
+
 }
+uint8_t  stationary_flag;
 uint8_t flag_sleeptimer,flag_secondtask,secondtask_count;
 uint8_t  lora_wg_up=0;
 extern uint8_t lora_tx_flag;
 static void sleep_timer_callback(void *dev, uint32_t time)
 {
+
+	
     g_start_send_flag=1;
+//	  HIDO_TimerGetTick();
 	  HIDO_TimerTick();
 	//		#ifdef DEBUG_BOXING
 ////		gpio_pin_clr(IO_PIN_5);//测试
 	//	gpio_pin_set(IO_PIN_5);//测试
 	  // lora_wg_up=1;
 	   
-	   lora_tx_flag=1;
+	   lora_tx_flag++;
 //	   lora_qiehuan++;
 //    IO_control_init();
 //    UWBPoll();
@@ -348,13 +352,25 @@
     }
  
     //GPS工作逻辑
-
+		if(nomove_count++>g_com_map[STATIONARY_TIME])
+    {
+     stationary_flag = 1;
+    } else 
+		{
+     stationary_flag = 0;
+    }
+//    nomove_count++;
+		#ifdef DEBUG_BOXING
+//		gpio_pin_clr(BOXING_PIN);//测试
+		gpio_pin_set(BOXING_PIN);//测试
+		#endif
+		delay_us(1000);
 }
 
-void phy_timer_callback(uint32_t time)
-{
- lora_tx_flag++;
-}
+//void phy_timer_callback(uint32_t time)
+//{
+// lora_tx_flag++;
+//}
 
 void uart0_receive_callback()
 {
@@ -381,10 +397,11 @@
     Usart1ParseDataCallback = UsartParseDataHandler;//需改为默认为gps处理,UsartParseDataHandler为升级处理当调试时候改为
     parameter_init_anchor();//g_com_map表初始化角色默认为基站
     g_com_map[DEV_ID]=0x1234;
+	  g_com_map[STATIONARY_TIME] = 10;
 //    g_com_map[GROUP_ID]=1;
     dev_id=g_com_map[DEV_ID];//这里不太对
-    group_id=g_com_map[GROUP_ID];//组ID
-	  g_com_map[LORA_POWER]=22;
+//    group_id=g_com_map[GROUP_ID];//组ID
+	  group_id=0x04;
     tag_frequency = 1000/g_com_map[COM_INTERVAL];//测距频率这个存的是测距时间
     memcpy(&disoffset,&g_com_map[DIST_OFFSET],2);
 //    g_com_map[ALARM_DISTANCE1] = 40;
@@ -498,8 +515,8 @@
 	  uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma
 
 	  //串口1
-		io_pin_mux_set(UART1_RX, IO_FUNC4);
-    io_pin_mux_set(UART1_TX, IO_FUNC4);
+//		io_pin_mux_set(UART1_RX, IO_FUNC4);
+//    io_pin_mux_set(UART1_TX, IO_FUNC4);
 }
 void spi_init()
 {
@@ -556,7 +573,31 @@
 /********************************************************************************************************/
 /********************************************************************************************************/
 /********************************************************************************************************/
-
+//static uint16_t delaytime = 771;
+//extern uint16_t wg_report_freq,wg_report_id;
+//extern uint32_t wg_lost_count;
+//extern uint8_t shengji_flag;
+//extern uint8_t lora_jianting_flag,report_ancnum;
+//uint8_t imu_enable,motor_enable;
+//uint32_t time_flag_lorarx=0;
+//uint32_t lora_huanxing_count=0;
+//uint16_t Lora_wangguanid=0;
+//wg_state_enum wg_state = WG_Lost;
+//uint16_t wangguan_up_id;
+//uint8_t LoraUp_flag;
+//uint16_t rec_wenjian_daxiao;
+//uint16_t recnum[3];
+//uint16_t recv_flag=0;
+//uint16_t tx_flag=0;
+//uint16_t CRC16=0;
+//uint16_t DEST_ID=0;
+//uint16_t rec_value,rec_delaytime,rx_count,datalen_offset;
+//uint16_t Loratx_flag=0;
+//uint16_t Lorarx_flag=0;
+//uint16_t Lorarx_time_out_flag=0;
+//uint8_t tx_buf[5]={0,1,0,1,1};
+//uint32_t sleep_time_count=0;
+//uint32_t uwb_ceju_count=0;
 wg_state_enum wg_state = WG_Lost;
 /********************************************************************************************************/
 static void Lora_irq_handler(enum IO_PIN_T pin)
@@ -564,17 +605,12 @@
 	RadioIrqProcess();				
 }
 
-
-
-
-
-
 void Board_LORA_NVIC_Init(GPIO_IRQ_HANDLER_T irq_handler)  //LORA 中断配置
 {
 //        io_pin_mux_set(_4G_USART_RX_Pin,IO_FUNC0);//把原先io 变为普通GPIO
 		gpio_pin_set_dir(LORA_DIO , GPIO_DIR_IN, 0);
 		io_pull_set(LORA_DIO, IO_HIGH_Z, IO_PULL_UP_NONE);
-        gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler);
+    gpio_enable_irq(LORA_DIO, GPIO_IRQ_TYPE_RISING_EDGE, irq_handler);
 }
 extern uint8_t pca9555writedata_input[10];//暂存输入寄存器所有配置的数组
 static void pca_handler(enum IO_PIN_T pin)
@@ -588,7 +624,6 @@
 uint8_t TXBuffer[8]={0,1,2,3,4,5,6,7};
 uint8_t test_buf[10]={0,1,1,1,1,1,1,1,1,1};
 int main(void)
-
 {
     board_clock_run();
 		//  boot_deinit();
@@ -604,27 +639,35 @@
     Board_gpio_init();
     //board_led_init();
     spi_init();
+	
+
     Board_LORA_NVIC_Init(Lora_irq_handler);
 	  pca_input_detection_init(pca_handler);
 		IIC2_Init();
     Accelerometer_Init();
 		PCA9555_init();
 		Lora_1268_Init();
-//    SwitchLoraSettings(473,7,0);
+    SwitchLoraSettings(478,7,22);
 		Program_Init();
 
     sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
 		sleep_timer_start(__MS_TO_32K_CNT(1000));//测试
     
-		
-
+#ifdef DEBUG_BOXING
+		io_pin_mux_set(BOXING_PIN,IO_FUNC0);
+		gpio_pin_set_dir(BOXING_PIN,GPIO_DIR_OUT,0);
+		io_pull_set(BOXING_PIN,IO_PULL_DOWN,IO_PULL_UP_LEVEL4);
+#endif
     Uwbinit();
 		OpenUWB();
-
     while (1)
     { 
+			#ifdef DEBUG_BOXING
+		gpio_pin_clr(BOXING_PIN);//测试
+//		gpio_pin_set(BOXING_PIN);//测试
+		#endif	
 	    Lora_Tx_Poll();
-//			uwb_app_poll();
+			uwb_app_poll();
       IdleTask();
     }
 }

--
Gitblit v1.9.3