YunZhiNeng 1 rok temu
rodzic
commit
23f8d07af4
2 zmienionych plików z 41 dodań i 21 usunięć
  1. 13 13
      Drivers/CONFIG.h
  2. 28 8
      Drivers/Modules/bc260y/BC260Y_UDP_Client5.c

+ 13 - 13
Drivers/CONFIG.h

@@ -7,20 +7,20 @@
 
 
 
-#define EC800M 1 //4G开关,不能数字开头
-//#define BC260Y 1  // NB
+//#define EC800M 1 //4G开关,不能数字开头
+#define BC260Y 1  // NB
 
 
 
 
 // 何龙祥的配置
 //睡眠相关IO配置 
-#define WAKE_GPIO_RCC RCC_APB2Periph_GPIOA
-#define WAKE_GPIO GPIOA
-#define WAKE_GPIO_Pin GPIO_Pin_6 // 睡眠的引脚
-//flash相关配置
-#define FLASH_SIZE 64
-#define SAVE_ADDR 0X0800FC00
+//#define WAKE_GPIO_RCC RCC_APB2Periph_GPIOA
+//#define WAKE_GPIO GPIOA
+//#define WAKE_GPIO_Pin GPIO_Pin_6 // 睡眠的引脚
+////flash相关配置
+//#define FLASH_SIZE 64
+//#define SAVE_ADDR 0X0800FC00
 
 
 
@@ -28,12 +28,12 @@
 
 // 刘艳斌的配置
 //睡眠相关IO配置
-//#define WAKE_GPIO_RCC RCC_APB2Periph_GPIOE
-//#define WAKE_GPIO GPIOE
-//#define WAKE_GPIO_Pin GPIO_Pin_5 // 睡眠的引脚
+#define WAKE_GPIO_RCC RCC_APB2Periph_GPIOE
+#define WAKE_GPIO GPIOE
+#define WAKE_GPIO_Pin GPIO_Pin_5 // 睡眠的引脚
 //flash相关配置
-//#define FLASH_SIZE 512
-//#define SAVE_ADDR 0X0807E000
+#define FLASH_SIZE 512
+#define SAVE_ADDR 0X0807E000
 
 
 #endif

+ 28 - 8
Drivers/Modules/bc260y/BC260Y_UDP_Client5.c

@@ -76,6 +76,7 @@ enum Step{
 	STEP_FINISH, // 流程结束
 	STEP_VERIFY_REGIST,//验证注册
 	STEP_VERIFY_INITIALIZE, // 验证初始化
+	STEP_QUERY_SOCKET,
 };
 // 当前
 static enum Step step = STEP_NONE;
@@ -252,6 +253,7 @@ static enum Initialize_Result InitializeResult;
 
 static uint8_t resend_counter = 0;//nb失败重发标志
 static uint8_t cfun_mode = 0;
+static uint8_t connectstate = 0;
 void UDP_Client_Handle(void)
 {
 	// 如果模块正在初始化,直接返回发送失败
@@ -371,7 +373,7 @@ void UDP_Client_Handle(void)
 						// 下一步
 					if(test_flag == 0)
 					{
-						goto_step(STEP_CLOSE);
+						goto_step(STEP_QUERY_SOCKET);
 					}
 					else
 					{
@@ -392,22 +394,40 @@ void UDP_Client_Handle(void)
 			result = bc260y.qeng_servingcell(&signal.RSRP, &signal.RSRQ, &signal.RSSI, &signal.SINR);
 			if(result == Result_Success)
 			{
-				goto_step(STEP_CLOSE);
+				goto_step(STEP_QUERY_SOCKET);
 			}
 			else if(result == Result_Failed)
 			{
 				goto_failure("查询信号质量失败");
 			}
 			break;
-		case STEP_CLOSE: // 关闭连接
-			result = bc260y.close_socket(connectID);
-			if(result == Result_Success)
-			{
-				goto_step(STEP_OPEN);
+//		case STEP_CLOSE: // 关闭连接
+//			result = bc260y.close_socket(connectID);
+//			if(result == Result_Success)
+//			{
+//				goto_step(STEP_OPEN);
+//			}
+//			else if(result == Result_Failed)
+//			{
+//				goto_failure("关闭连接失败");
+//			}
+//			break;
+		case STEP_QUERY_SOCKET:		 
+			 result =bc260y.query_socket_state_sync(connectID,&connectstate);
+		    if(result == Result_Success)
+			{
+				if(connectstate==2)
+				{
+				goto_step(STEP_JUDGE_AUTH_OR_DATA);
+				}
+				else
+				{
+				 goto_step(STEP_OPEN);
+				}
 			}
 			else if(result == Result_Failed)
 			{
-				goto_failure("关闭连接失败");
+				goto_failure("查询UDP连接失败");
 			}
 			break;
 		case STEP_OPEN: // 打开客户端