From 65875638fb3e55a37498c436a69e1b324343c5ff Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期一, 06 一月 2025 14:51:30 +0800
Subject: [PATCH] 4G单片机rx断路修复,4G唤醒引脚和发送接收功能配置成功

---
 keil/include/main/main.c |  106 ++++++++++++++++++++++++++++------------------------
 1 files changed, 57 insertions(+), 49 deletions(-)

diff --git a/keil/include/main/main.c b/keil/include/main/main.c
index 48191b8..bec7732 100644
--- a/keil/include/main/main.c
+++ b/keil/include/main/main.c
@@ -64,7 +64,7 @@
 #include "PCA9555.h"
 #include "WS2812.h"
 
-//#define DEBUG_MODE
+#define DEBUG_MODE
 extern int simple_main(void);
 extern int temp_main(void);
 void uart_change_check(uint16_t gpio_state);
@@ -321,24 +321,24 @@
 } 
 void PowerTask(void)
 {
-     if(read_powerkey_input_pca())
-     {
-        if(HIDO_TimerGetTick() - keystarttime>2)
-        {
-            keystarttime =  HIDO_TimerGetTick();
-						PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
-						PCA9555_Set_One_Value_Output(GPS_LED,0);//输出低电平关闭LED
-        }
-//        if(HIDO_TimerGetTick() - keystarttime2>10)
+//     if(read_powerkey_input_pca())
+//     {
+//        if(HIDO_TimerGetTick() - keystarttime>2)
 //        {
-//						
-//            g_com_map[CNT_RESTART] = 1;
+//            keystarttime =  HIDO_TimerGetTick();
+//						PCA9555_Set_One_Value_Output(PWR_ENABLE,0);//低电平关闭
+//						PCA9555_Set_One_Value_Output(GPS_LED,0);//输出低电平关闭LED
 //        }
-     }else
-     {
-       keystarttime =  HIDO_TimerGetTick(); 
-       keystarttime2 =  HIDO_TimerGetTick(); 
-     }
+////        if(HIDO_TimerGetTick() - keystarttime2>10)
+////        {
+////						
+////            g_com_map[CNT_RESTART] = 1;
+////        }
+//     }else
+//     {
+//       keystarttime =  HIDO_TimerGetTick(); 
+//       keystarttime2 =  HIDO_TimerGetTick(); 
+//     }
 }
 void MinuteTask(void)
 {		
@@ -352,7 +352,7 @@
         second_count = 0;
         MinuteTask();
     }
-		
+		//UWBOneSecondTask();
 //		if(!power_low_flag)
 //		Gps_change();
 //		else{
@@ -394,7 +394,7 @@
 uint8_t tt=1;
 uint8_t flag_sleeptimer,flag_secondtask,secondtask_count,log_4g_enable_flag;
 uint8_t uwb_enable_flag=0;
-
+uint8_t flag_4G_recdata;
 void check_input_change(void)
 {
 	uint16_t gpio_state;
@@ -402,6 +402,11 @@
 	if(WAKE_UP_POSITION&gpio_state)
 	{
 		nomove_count=0;
+	}
+	if(!(MAIN_RI_POSITION&gpio_state))
+	{
+		 flag_4G_recdata = 1;
+     delaysleep_count = 3;
 	}
 	//uart_change_check(gpio_state);
 }
@@ -427,7 +432,7 @@
 	PCA9555_readdata(PCA9555_DEVICE_ADDR,pca9555writedata_input);//读输入寄存器的值
 	check_input_change();
 }
-uint8_t flag_4G_recdata;
+
 void _4gUsart_handler(enum IO_PIN_T pin)
 {
      //LOG_INFO(TRACE_MODULE_APP, "4G RX 唤醒\r\n");
@@ -603,23 +608,27 @@
 
     // open system timer
     //sys_timer_open();
-
-    // TODO 4G
+		// TODO 4G
     Uart_Register(UART_ID_4G, UART_ID0);
-//    Internet_Init();
-//    TCPClient_Init();
-
+    Internet_Init();
+    TCPClient_Init();
     gpio_open();
 		LED_output_init();//配置adcGND引脚
+		IIC2_Init();
+    Accelerometer_Init();
+		PCA9555_init();
+ 
+		
+		AIR780E_Reset(); 
 //		battery_monitor_open();
 //		Voltage_input=battery_monitor_get();
 //		battery_monitor_close();
 	
     adc_open(&usr_adc_cfg);
 		
-    IIC2_Init();
-    Accelerometer_Init();
-		PCA9555_init();
+    
+		
+		
 		if(!read_5v_input_pca())
 		{
      Set4LEDColor(BLUE,GREEN,WHITE,GREEN);
@@ -644,27 +653,27 @@
     power_init();
       //AIR780E_Reset(); //4G模块重启,耗时1.5秒,这个是无法同步的关键
     sleep_timer_open(true, SLEEP_TIMER_MODE_RELOAD, sleep_timer_callback);
-    sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试
-    //sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
+    //sleep_timer_start(__MS_TO_32K_CNT(g_com_map[COM_INTERVAL]));//测试
+    sleep_timer_start(__MS_TO_32K_CNT(SLEEP_TIMER_NUM));//测试
  //   board_5V_input_init(voltage_input_handler);
 			PCA9555_Set_One_Value_Output(ADC_MINIUS,0);//拉低
 		 adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样
     board_acceleration_detection_init(move_handler);
 		pca_input_detection_init(pca_handler);//pca检测输入
+		
+		//board_4GUsart_detection_init(_4gUsart_handler);
 		Uwb_init();
 		OpenUWB();
 		
-		//board_4GUsart_detection_init(_4gUsart_handler);
+		
     while (1)
     { 
 			uwb_app_poll();
 			
-			//test4=gpio_pin_get_val(SCL_PIN);
-			//UWBPoll();
 //			if(!power_low_flag)//确认是否休眠下才开启功能
 //			{
-//        if(flag_TCP_reconnectting||IfTCPConnected())
-//        {
+        if(flag_TCP_reconnectting||IfTCPConnected())
+        {
 //        //    LOG_INFO(TRACE_MODULE_APP, "处理4G任务\r\n");
 //           
 ////            if(flag_4guart_needinit)
@@ -672,20 +681,19 @@
 ////                flag_4guart_needinit = 0;
 ////                AIR780EUartInit();
 ////            }//yuan
-//					  if(flag_4G_recdata==1)
-//            {
-//                flag_4G_recdata = 2;
-//               
-//                //LOG_INFO(TRACE_MODULE_APP, "运行Socket_RecvAll tt2 %d\r\n",tt2);
-//                Socket_RecvAll();
-//            }
-////						air780_led_on();
-//            Internet_Poll();
-//            HIDO_ATLitePoll();
-//            HIDO_TimerPoll();
-//            TCPClient_Poll();
-////            air780_led_off();
-//        }
+					  if(flag_4G_recdata==1)
+            {
+                flag_4G_recdata = 2;
+               
+                //LOG_INFO(TRACE_MODULE_APP, "运行Socket_RecvAll tt2 %d\r\n",tt2);
+                Socket_RecvAll();
+            }
+            Internet_Poll();
+            HIDO_ATLitePoll();
+            HIDO_TimerPoll();
+            TCPClient_Poll();
+
+        }
 //		}
         if(flag_secondtask)
         {

--
Gitblit v1.9.3