From f34293f18e4fbfe4d0d025657d2bda505861066a Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 15 八月 2025 19:51:53 +0800
Subject: [PATCH] 初步调好demo,升级未测试

---
 keil/include/main/main.c |  141 +++++++++++++----------------------------------
 1 files changed, 39 insertions(+), 102 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 53488c6..7aa9d35 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -91,7 +91,7 @@
 extern uint8_t anchordata_num;
 uint32_t dev_id;
 uint8_t group_id;
-uint16_t tag_frequency;
+uint8_t tag_frequency;
 uint16_t disoffset;
 uint16_t warning_distance,prewarning_distance;
 int16_t fVoltage_mv,first_search_flag;
@@ -100,7 +100,7 @@
 uint16_t gps_wait_count,gps_wait_count2;
 uint8_t state5v = 1;
 uint8_t motor_power_state=1,uwb_state,air780_power_state,gps_success_state,red_charge_state,green_charge_state,air780_success_state,first_motor_in_flag;
-float nomove_count=0;
+uint16_t nomove_count=0;
 static uint32_t sample[NUM_SAMPLES] = {0};
 uint8_t recev_error_num,send_messgae_count,send_flag,control_state,power_low_flag;
 uint8_t flag_4g_usart_rx_state = 1;  //4G 串口RX当前是 RX状态,不是GPIO状态
@@ -266,9 +266,11 @@
 }
 void MinuteTask(void)
 {		
-		PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
+//		PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
     adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
 }
+extern uint8_t motor_state;
+extern  int8_t motor_keeptime;
 void SecondTask(void)
 {static uint8_t second_count;
     if(second_count++>60)
@@ -277,45 +279,39 @@
         MinuteTask();
     }
 		
-//		if(!power_low_flag)
-//		Gps_change();
-//		else{
-//		gps_power_state=0;//关闭GPS
-//		update_led_power_state();
-//		//初始化GPS计数数据
-//		gps_need_data_flag=1;
-//		gps_wait_count2=0;
-//		gps_wait_count=0;
-//		}
-//    //UWB状态检测
-//if(!power_low_flag)//低供电下不需要检测重连
-//	{
-//    if(IfTCPConnected())
-//    {
-//        TCP_reconnect_timer =0;
-//        flag_TCP_reconnectting = 0;
-//    } else {
-//        if(TCP_reconnect_timer<30)//如果TCP没有连接,每隔10分钟尝试连接30秒
-//        {
-//            flag_TCP_reconnectting = 1;
-//        } else {
-//            flag_TCP_reconnectting = 0;
-//        }
-//        if(TCP_reconnect_timer++>600)
-//        {
-//            TCP_reconnect_timer = 0;
-//        }
-
-//    }
-//	}
+if(g_com_map[MOTOR_ENABLE])
+    {
+            if(motor_keeptime-->0)
+            {
+                motor_state = 2;
+            }else{
+                motor_state = 0;
+            }
+        switch(motor_state)
+            {case 0:
+                pwm_ch_disable(PWM_ID3);
+                break;
+            case 1:       
+                break;
+            case 2:
+                pwm_ch_enable(PWM_ID3, &usr_pwm_ch0_cfg);
+                break;
+            case 3:
+                break;	
+						}
+    }
     HIDO_TimerTick();
+		if(motor_keeptime<0)
+		{
+		motor_keeptime=-1;//防止溢出
+		}
 		if(nomove_count<=g_com_map[NOMOVESLEEP_TIME])//防止溢出
     nomove_count++;
 		else{
 		nomove_count=g_com_map[NOMOVESLEEP_TIME]+1;
 		}
 }
-uint8_t tt=1;
+//uint8_t tt=1;
 uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
 uint8_t uwb_enable_flag=0;
 
@@ -425,70 +421,11 @@
     LOG_INFO(TRACE_MODULE_APP,"固件版本:4G-GPS定位手环 V%d.%d. \r\n",g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
     LOG_INFO(TRACE_MODULE_APP,"服务器地址: %d.%d.%d.%d:%d.\r\n",ip0,ip1,ip2,ip3,port);
 } 
-extern uint8_t motor_state;
-extern  float motor_keeptime;
+
 uint8_t test1;
 void IdleTask(void)
 {
-    if(g_com_map[MOTOR_ENABLE])
-    {
-            if(motor_keeptime>0)
-            {
-                motor_state = 2;
-            }else{
-                motor_state = 0;
-            }
-            //motor_state=2;
-        switch(motor_state)
-            {case 0:
-//                if(hardware_type==NSH1)
-//                {MOTOR_OFF;
-//                }else if(hardware_type==GP)
-//                {
-//                HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
-//                }
-//                pwm_ch_enable(PWM_ID0, &usr_pwm_ch0_cfg);
-//                        delay_ms(10000);
-                pwm_ch_disable(PWM_ID3);
-                break;
-            case 1:
-//                if(current_time<MOTOR_ONTIME)
-//                {
-//                    if(hardware_type==NSH1)
-//                    {MOTOR_ON;
-//                    }else if(hardware_type==GP)
-//                    {
-//                    HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
-//                    }	
-//                }else{
-//                    if(hardware_type==NSH1)
-//                    {MOTOR_OFF;
-//                    }else if(hardware_type==GP)
-//                    {
-//                    HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
-//                    }	
-//                }		
-//                pwm_ch_enable(PWM_ID0, &usr_pwm_ch0_cfg);            
-                break;
-            case 2:
-//                if(hardware_type==NSH1)
-//                    {MOTOR_ON;
-//                    }else if(hardware_type==GP)
-//                    {
-//                    HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_3);
-//                    }	
-                pwm_ch_enable(PWM_ID3, &usr_pwm_ch0_cfg);
-                break;
-            case 3:
-//                if(hardware_type==NSH1)
-//                    {MOTOR_OFF;
-//                    }else if(hardware_type==GP)
-//                    {
-//                    HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3);
-//                    }	
-                break;	
-        }
-    }
+    
         UART0_CheckReceive();
         test1=gpio_pin_get_val(INPUT_5V_Pin);
         if(gpio_pin_get_val(INPUT_5V_Pin))
@@ -659,7 +596,7 @@
     IIC2_Init();
     SC7A22H_Motion_Detection_Init();
     gpio_pin_clr(ADC_GND_ENABLE);
-    Program_Init();
+    //Program_Init();
     uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback);
     power_init();
     sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
@@ -672,8 +609,8 @@
     board_5V_input_init(voltage_input_handler);
     adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
     board_acceleration_detection_init(move_handler);
-    Uwb_init();
-    Dw1000_App_Init();
+   Tag_uwb_init();
+//    Dw1000_App_Init();
     while (1)
     { 
         if(flag_secondtask)
@@ -684,12 +621,12 @@
         if(g_start_send_flag)
         {
             g_start_send_flag = 0;
-            gpio_pin_set(IO_PIN_7);//亮
-		    SwitchTagState();	
+            gpio_pin_set(IO_PIN_7);//亮	
+							TagRange();
             gpio_pin_clr(IO_PIN_7);//灭
         }
 //				PowerTask();
-				IMUTask();
+				//IMUTask();
 //				UserKeyTask();
         IdleTask();
         LoraUp_Poll();

--
Gitblit v1.9.3