From 7e5e286a011abedb6d5862c123474c5eb97d27eb Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期二, 29 八月 2023 17:13:01 +0800
Subject: [PATCH] 测试完成,先提交一下

---
 Core/Src/main.c |   55 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 26 insertions(+), 29 deletions(-)

diff --git a/Core/Src/main.c b/Core/Src/main.c
index 1a70e26..fb4782f 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -177,18 +177,14 @@
   {
     Error_Handler();
   }
-//	  printf("设备ID: %x .\r\n",dev_id);
-//    printf("固件版本:定位标签-串口输出-随机时间片模式 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
-//g_com_map[NOMOVESLEEP_TIME]=5;
-//	printf("标签ID: %d .\r\n",dev_id);
-//	printf("通讯间隔: %d ms.\r\n",g_com_map[COM_INTERVAL]);
-//	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
-	
-
-//	printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]);
-//	printf("DEVICE ALARM DISTANCE: 1.%d 2.%d 3.%d .\r\n",g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],g_com_map[ALARM_DISTANCE3]);
 	if(g_com_map[CNT_UPDATE]==1)
 	{
+          Set4LEDColor(RED,RED,RED,RED);
+  HAL_Delay(500);
+  Set4LEDColor(GREEN,GREEN,GREEN,GREEN);
+  HAL_Delay(500);
+  Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
+  HAL_Delay(500);
 	uint32_t result = 0;
 		uint16_t tmp = 0xAAAA;
 	__disable_irq();
@@ -196,13 +192,14 @@
 	if(result)
 		result = FLASH_Write(0x8004A38, (const uint8_t*)&tmp, 2); 
 	__enable_irq();
-		printf("进入升级模式\r\n");
+//		printf("进入升级模式\r\n");
 	g_com_map[CNT_UPDATE]=0;
 	save_com_map_to_flash();
 	delay_ms(100);
-		//	STMFLASH_Write_NoCheck(0x8004A38,0xAAAA);
-		//	Delay_ms(100);
-			SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
+//		//	STMFLASH_Write_NoCheck(0x8004A38,0xAAAA);
+//		//	Delay_ms(100);
+//			SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader   
+     NVIC_SystemReset();
 	}
 			if(g_com_map[CNT_REBOOT]==1)
 		{
@@ -226,9 +223,9 @@
 }
 void Uwb_Poll(void)
 {
-  if(nomove_flag==0)
+  if(nomove_flag==0)//静止判断
     {
-    if(lp_time-uwb_timer>=UWB_WORK_TIME_S)
+    if(lp_time-uwb_timer>=UWB_WORK_TIME_S) //是否到uwb工作时间了。
     {
     uwbled=BLUE;
     powerled=LEDOFF;
@@ -242,7 +239,7 @@
         {
           uwb_work_num=0;
         }
-        if(uwb_work_num>5&&youxiao_ceju<3)
+        if(uwb_work_num>5&&youxiao_ceju<3)//判断uwb测距有效基站数量是否大于3个,并且超过5次的话GPS开始工作。
         {GPS_ON_flag=1;}
         else
         {GPS_ON_flag=0;}
@@ -338,12 +335,12 @@
   Set4LEDColor_Off();  //关一下led总电源
   Power_GPS_LoraOff();//关一下GPS总电源
 //  Lora_Sleep();
-  Set4LEDColor(RED,RED,RED,RED);
-  HAL_Delay(500);
-  Set4LEDColor(GREEN,GREEN,GREEN,GREEN);
-  HAL_Delay(500);
-  Set4LEDColor(LEDOFF,LEDOFF,LEDOFF,LEDOFF);
-  HAL_Delay(500);
+//  Set4LEDColor(RED,RED,RED,RED);
+//  HAL_Delay(500);
+//  Set4LEDColor(GREEN,GREEN,GREEN,GREEN);
+//  HAL_Delay(500);
+
+//  NVIC_SystemReset();
   /* USER CODE END 2 */
 
   /* Infinite loop */
@@ -351,10 +348,10 @@
   while (1)
   {
 
-    APL_Poll();
+    APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。
     Uwb_Poll();
-    Battery_Poll();
-    Time_to_restart_Poll();
+    Battery_Poll();//检测电量函数,每60s测一次电量。
+    Time_to_restart_Poll();//防止出现意外情况,或则不考虑翻转问提,20000000s重启一次设备。
     /* USER CODE END WHILE */
 
     /* USER CODE BEGIN 3 */
@@ -811,14 +808,14 @@
 void HAL_LPTIM_CompareMatchCallback(LPTIM_HandleTypeDef *hlptim)
 {
 lp_time++;
-    nomove_time++;
+    nomove_time++;//设备没有移动的时间
     if(nomove_time>g_com_map[NOMOVESLEEP_TIME])
     {nomove_flag=1;}
     else
     {nomove_flag=0;}
-    if(lora_sendfinal_rx_bag_flag==1)
+    if(lora_sendfinal_rx_bag_flag==1)//如果进入lora等待接收回复的状态
     {
-    lora_sendfinal_rx_time=lora_sendfinal_rx_time+1;
+    lora_sendfinal_rx_time=lora_sendfinal_rx_time+1;//lora等待接收2s,2s不休眠,如果超过两秒,标志位清零,进入修眠、
         if(lora_sendfinal_rx_time>=2)
         {
         lora_sendfinal_rx_time=0;

--
Gitblit v1.9.3