فهرست منبع

nb代码结构优化

龙三郎 1 سال پیش
والد
کامیت
9c15ca8a05

+ 7 - 7
Drivers/Business/PumpBusiness.c

@@ -112,13 +112,13 @@ void PumpBusines_Handle(void)
 	}
 	
 	// 定时发送数据
-//	if(time_get_delay(&timer) > 1000 * Business_wait_time) // // 定时时间,20分钟
-//	{
-//		// 20分钟计时完成,处理业务
-//		send_data_switch = 1; // 发送数据标志
-//		time_clear(&timer); // 重新定时
-//		Log_Printf_Debug("PumpBusines_Handle\r\n");
-//	}
+	if(time_get_delay(&timer) > 1000 * Business_wait_time) // // 定时时间,20分钟
+	{
+		// 20分钟计时完成,处理业务
+		send_data_switch = 1; // 发送数据标志
+		time_clear(&timer); // 重新定时
+		Log_Printf_Debug("PumpBusines_Handle\r\n");
+	}
 	
 	// 发送标志位不为1直接返回
 	if(send_data_switch != 1)

+ 3 - 3
Drivers/INflash.c

@@ -58,7 +58,7 @@ void STMFLASH_Read(uint32 ReadAddr,uint16 *pBuffer,uint16 NumToRead)
 }
 void STMFLASH_Write(uint32 WriteAddr,uint16 *pBuffer,uint16 NumToWrite)
 {
-  	uint32 secpos;	   //扇区地址
+  uint32 secpos;	   //扇区地址
 	uint16 secoff;	   //扇区内偏移地址(16位字计算)
 	uint16 secremain; //扇区内剩余地址(16位字计算)	   
  	uint16 i;    
@@ -91,9 +91,9 @@ void STMFLASH_Write(uint32 WriteAddr,uint16 *pBuffer,uint16 NumToWrite)
 		{
 			secpos++;				//扇区地址增1
 			secoff=0;				//偏移位置为0 	 
-		   	pBuffer+=secremain;  	//指针偏移
+		  pBuffer+=secremain;  	//指针偏移
 			WriteAddr+=secremain;	//写地址偏移	   
-		   	NumToWrite-=secremain;	//字节(16位)数递减
+		  NumToWrite-=secremain;	//字节(16位)数递减
 			if(NumToWrite>(STM32_SECTOR_SIZE/2))secremain=STM32_SECTOR_SIZE/2;//下一个扇区还是写不完
 			else secremain=NumToWrite;//下一个扇区可以写完了
 		}	 

+ 54 - 54
Drivers/Modules/At_Module.c

@@ -9,14 +9,6 @@
 #include "CONFIG.h"
 
 
-// 未处理数据用到的一些变量
-static uint16_t at_last_length = 0;
-static struct TIMER_Struct timer = {
-	.time = 0,
-	.flag = 0
-};
-
-
 // AT指令
 struct AT_Struct
 {
@@ -28,38 +20,19 @@ static struct AT_Struct at_Struct = {
 	.status = AT_Status_None,
 	.result_length = 0
 };
-
-
-// 获取AT指令返回的长度
-uint16_t AT_result_length(void)
-{
-	return at_Struct.result_length;
-}
-// 获取AT指令返回的内容
-uint8_t * AT_result(void)
-{
-	return at_Struct.result;
-}
-
-// 获取AT返回数据后的等待时间
-uint32_t AT_wait_time(void)
+// 串口中断函数
+void USART2_IRQHandler(void)
 {
-	uint16_t length = AT_result_length();
-	if(length == 0)
-	{
-		time_clear(&timer);
-		return 0;
-	}
-	// 没有数据
-	if(length != at_last_length)
+	if(USART_GetFlagStatus(USART2, USART_IT_RXNE) == SET)
 	{
-		at_last_length = length;
-		time_clear(&timer);
-		return 0;
+		uint8_t RxData = USART_ReceiveData(USART2);
+		// 写入缓存
+		at_Struct.result[at_Struct.result_length++] = RxData;
+		
+		// 串口的一些设置
+		USART_ClearITPendingBit(USART2, USART_IT_RXNE);
 	}
-	return time_get_delay(&timer);
 }
-
 // 发送AT指令的函数,配置串口
 static void USART_SendByte(uint8_t Byte)
 {
@@ -67,7 +40,7 @@ static void USART_SendByte(uint8_t Byte)
 	while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
 }
 // 发送字节数组
-static void USART_Send_Bytes(uint8_t * bytes, uint16_t Length)
+static void USART_SendBytes(uint8_t * bytes, uint16_t Length)
 {
 	uint16_t i;
 	for(i = 0; i < Length; i ++)
@@ -76,27 +49,29 @@ static void USART_Send_Bytes(uint8_t * bytes, uint16_t Length)
 	}
 }
 
-// 串口中断函数
-void USART2_IRQHandler(void)
+
+
+
+
+
+// 获取AT指令返回的长度
+uint16_t AT_result_length(void)
 {
-	if(USART_GetFlagStatus(USART2, USART_IT_RXNE) == SET)
-	{
-		uint8_t RxData = USART_ReceiveData(USART2);
-		// 写入缓存
-		at_Struct.result[at_Struct.result_length++] = RxData;
-		
-		// 串口的一些设置
-		USART_ClearITPendingBit(USART2, USART_IT_RXNE);
-	}
+	return at_Struct.result_length;
+}
+// 获取AT指令返回的内容
+uint8_t * AT_result(void)
+{
+	return at_Struct.result;
 }
 
 // 发送AT指令,二进制
 void AT_Send_Bytes(uint8_t * CMD, uint16_t length)
 {
 	// 状态
-	at_Struct.status = AT_Status_Using;
+	AT_Set_Status(AT_Status_Using);
 	// 发送AT指令
-	USART_Send_Bytes(CMD, length);
+	USART_SendBytes(CMD, length);
 }
 // 发送AT指令,字符串
 void AT_Send_String(char * CMD)
@@ -107,10 +82,8 @@ void AT_Send_String(char * CMD)
 // 清空AT指令
 void AT_Clear()
 {
-	at_Struct.status = AT_Status_None;
-	// 清除AT指令返回
-	memset(at_Struct.result, 0, sizeof(at_Struct.result));
-	at_Struct.result_length = 0;
+	AT_Set_Status(AT_Status_None);
+	AT_Clear_Result();
 }
 // 清空AT指令返回的结果
 void AT_Clear_Result()
@@ -133,6 +106,33 @@ enum AT_Status AT_Get_Status(void)
 
 
 
+
+
+
+// 未处理数据用到的一些变量
+static uint16_t at_last_length = 0;
+static struct TIMER_Struct timer = {
+	.time = 0,
+	.flag = 0
+};
+// 获取AT返回数据后的等待时间
+uint32_t AT_wait_time(void)
+{
+	uint16_t length = AT_result_length();
+	if(length == 0)
+	{
+		time_clear(&timer);
+		return 0;
+	}
+	// 没有数据
+	if(length != at_last_length)
+	{
+		at_last_length = length;
+		time_clear(&timer);
+		return 0;
+	}
+	return time_get_delay(&timer);
+}
 // AT监听
 void AT_Handle()
 {

+ 31 - 11
Drivers/Modules/Tuoreniot.c

@@ -21,7 +21,7 @@ unsigned char key[17]="tuorenzhinenghua";
 void packRegistParams(uint8_t * pack_data, uint16_t * pack_data_length, struct Regist_Params_Struct registParams)
 {
 	sprintf((char *)(pack_data + 2), "{\"platform\":\"%s\",\"connectionType\":\"%s\",\"deviceId\":\"%s\"}", 
-	registParams.platform, registParams.connType, registParams.deviceId); // 拼接AT指令
+	registParams.platform, registParams.networkProtocol, registParams.deviceId); // 拼接AT指令
 	Log_Printf_Debug("%s\r\n", (char *)(pack_data + 2));
 	
 	uint16_t datalen = utils_aes128_ECB_base64_enc_with_length((char *)key, (pack_data + 2));
@@ -38,7 +38,7 @@ void packRegistParams(uint8_t * pack_data, uint16_t * pack_data_length, struct R
 * 
 *注册数据解密
 */
-uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, struct Regist_Params_Struct * regist_data_struct)
+uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, struct Regist_Result_Struct * registResult)
 {
 	Log_Printf_Debug("regist_data: \r\n");
 	Log_SendHex(regist_data, regist_data_length);
@@ -56,9 +56,16 @@ uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, s
 	}
 	else if(cJSON_GetObjectItem(json, "code")->valueint == 200)
 	{
-		strcpy(regist_data_struct->deviceSecret, cJSON_GetObjectItem(json, "deviceSecret")->valuestring);
-		strcpy(regist_data_struct->productKey, cJSON_GetObjectItem(json, "productKey")->valuestring);
-		strcpy(regist_data_struct->deviceName, cJSON_GetObjectItem(json, "deviceName")->valuestring);
+		registResult->version = 1;
+		registResult->userId = 1000;
+		strcpy(registResult->networkProtocol, "CoAP");
+		strcpy(registResult->platform, "aliyun");
+		registResult->code = cJSON_GetObjectItem(json, "code")->valueint;
+		strcpy(registResult->deviceSecret, cJSON_GetObjectItem(json, "deviceSecret")->valuestring);
+		strcpy(registResult->productId, cJSON_GetObjectItem(json, "productKey")->valuestring);
+		strcpy(registResult->deviceId, cJSON_GetObjectItem(json, "deviceName")->valuestring);
+		strcpy(registResult->remoteAddress, cJSON_GetObjectItem(json, "address")->valuestring);
+		registResult->remotePort = atoi(cJSON_GetObjectItem(json, "port")->valuestring);
 		result = 1;
 	}
 	else
@@ -75,17 +82,30 @@ uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, s
 void printf_regist_param_struct(struct Regist_Params_Struct regist_params_struct)
 {
 	Log_Printf("------print regist params start------\r\n");
-	Log_Printf("connType=%s\r\n", regist_params_struct.connType);
+	Log_Printf("version=%d\r\n", regist_params_struct.version);
+	Log_Printf("networkType=%s\r\n", regist_params_struct.networkType);
+	Log_Printf("networkProtocol=%s\r\n", regist_params_struct.networkProtocol);
 	Log_Printf("deviceId=%s\r\n", regist_params_struct.deviceId);
-	Log_Printf("deviceName=%s\r\n", regist_params_struct.deviceName);
 	Log_Printf("platform=%s\r\n", regist_params_struct.platform);
-	Log_Printf("deviceSecret=%s\r\n", regist_params_struct.deviceSecret);
-	Log_Printf("Host=%s\r\n", regist_params_struct.host);
-	Log_Printf("port=%d\r\n", regist_params_struct.port);
-	Log_Printf("productKey=%s\r\n", regist_params_struct.productKey);
 	Log_Printf("userId=%d\r\n", regist_params_struct.userId);
 	Log_Printf("------print regist params end------\r\n");
 }
 
 
+void printf_regist_result_struct(struct Regist_Result_Struct regist_result_struct)
+{
+	Log_Printf("------print regist result start------\r\n");
+	Log_Printf("code=%d\r\n", regist_result_struct.code);
+	Log_Printf("version=%d\r\n", regist_result_struct.version);
+	Log_Printf("networkProtocol=%s\r\n", regist_result_struct.networkProtocol);
+	Log_Printf("platform=%s\r\n", regist_result_struct.platform);
+	Log_Printf("deviceId=%s\r\n", regist_result_struct.deviceId);
+	Log_Printf("deviceSecret=%s\r\n", regist_result_struct.deviceSecret);
+	Log_Printf("remoteAddress=%s\r\n", regist_result_struct.remoteAddress);
+	Log_Printf("remotePort=%d\r\n", regist_result_struct.remotePort);
+	Log_Printf("productId=%s\r\n", regist_result_struct.productId);
+	Log_Printf("userId=%d\r\n", regist_result_struct.userId);
+	Log_Printf("------print regist result end------\r\n");
+}
+
 

+ 21 - 6
Drivers/Modules/Tuoreniot.h

@@ -5,22 +5,37 @@
 
 struct Regist_Params_Struct
 {
+	uint8_t version;
 	char platform[20];
-	char connType[10];
+	char networkType[10];
+	char networkProtocol[10];
+	char productId[20];
+	char deviceId[20];
+	uint16_t userId;
+};
+
+struct Regist_Result_Struct
+{
+	uint8_t code;
+	uint8_t version;
+	char platform[20];
+	char networkType[10];
+	char networkProtocol[10];
+	char remoteAddress[50];
+	uint16_t remotePort;
+	char productId[20];
 	char deviceId[20];
 	uint16_t userId;
-	char host[20];
-	uint16_t port;
 	char deviceSecret[50];
-	char productKey[20];
-	char deviceName[20];
 };
 
 
 void packRegistParams(uint8_t * pack_data, uint16_t * pack_data_length, struct Regist_Params_Struct registParams);
 
-uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, struct Regist_Params_Struct * regist_data_struct);
+uint8_t analysisRegistData(uint8_t * regist_data, uint16_t regist_data_length, struct Regist_Result_Struct * registResult);
 
 void printf_regist_param_struct(struct Regist_Params_Struct regist_params_struct);
 
+void printf_regist_result_struct(struct Regist_Result_Struct regist_result_struct);
+
 #endif

+ 40 - 57
Drivers/Modules/bc260y/BC260Y_UDP_Client5.c

@@ -262,6 +262,9 @@ static char pridnsaddr[20];
 static uint8_t resend_counter = 0;//nb失败重发标志
 static uint8_t cfun_mode = 0;
 static uint8_t connectstate = 0;
+
+// 开启回显的标志
+static uint8_t qisde_flag = 0; // 0:未开启;1:开启。
 void UDP_Client_Handle(void)
 {
 	// 如果模块正在初始化,直接返回发送失败
@@ -322,8 +325,8 @@ void UDP_Client_Handle(void)
 			result = bc260y.dataformat(1);
 			if(result == Result_Success)
 			{
-				goto_step(STEP_QUERY_DNS);
-				Log_Printf_Debug("\r\n>>查询DNS\r\n");
+				goto_step(STEP_QUERY_CFUN);
+				Log_Printf_Debug("\r\n>>查询功能模式\r\n");
 				memset(pridnsaddr, 0, sizeof(pridnsaddr));
 			}
 			else if(result == Result_Failed)
@@ -331,102 +334,82 @@ void UDP_Client_Handle(void)
 				goto_failure("配置发送格式失败");
 			}
 		   break;
-		case STEP_QUERY_DNS: // 查询DNS
-			result = bc260y.query_dns(pridnsaddr);
+		case STEP_QUERY_CFUN: // 查询功能模式
+			result = bc260y.query_cfun(&cfun_mode);
 			if(result == Result_Success)
 			{
-				if(strlen(pridnsaddr) <= 1)
+				if(cfun_mode == 0)
 				{
-					goto_step(STEP_SET_DNS);
-					Log_Printf_Debug("\r\n>>设置DNS\r\n");
+					goto_step(STEP_SET_CFUN_1);
+					Log_Printf_Debug("\r\n>>设置全功能模式\r\n");
 				}
 				else
 				{
-					goto_step(STEP_QUERY_CFUN);
-					Log_Printf_Debug("\r\n>>查询功能模式\r\n");
+					goto_step(STEP_QUERY_DNS);
+					Log_Printf_Debug("\r\n>>查询DNS\r\n");
 				}
 			}
 			else if(result == Result_Failed)
 			{
-				goto_failure("查询DNS失败");
+				goto_failure("查询功能模式失败");
 			}
-			break;
-		case STEP_SET_DNS:
-			result = bc260y.set_dns("114.114.114.114", "8.8.8.8"); // 设置DNS
+		   break;
+		case STEP_SET_CFUN_1: // 设置全功能模式
+			result = bc260y.set_cfun(1);
 			if(result == Result_Success)
 			{
-				goto_step(STEP_QUERY_CFUN_DNS);
-				Log_Printf_Debug("\r\n>>设置完dns,查询功能模式\r\n");
+				resend_counter++;
+				goto_step(STEP_QUERY_DNS);
+				Log_Printf_Debug("\r\n>>查询DNS\r\n");
 			}
 			else if(result == Result_Failed)
 			{
-				goto_failure("查询功能模式失败");
+				resend_counter++;
+				goto_failure("设置全功能模式失败");
 			}
-		   break;
-		case STEP_QUERY_CFUN_DNS: // 设置完dns,查询功能模式
-			result = bc260y.query_cfun(&cfun_mode);
+			break;
+		case STEP_QUERY_DNS: // 查询DNS
+			result = bc260y.query_dns(pridnsaddr);
 			if(result == Result_Success)
 			{
-				if(cfun_mode == 1)
+				if(strlen(pridnsaddr) <= 1)
 				{
-					goto_step(STEP_SET_CFUN_0_DNS);
-					Log_Printf_Debug("\r\n>>设置完dns,先设置最小功能模式\r\n");
+					goto_step(STEP_SET_DNS);
+					Log_Printf_Debug("\r\n>>设置DNS\r\n");
 				}
 				else
 				{
-					goto_step(STEP_SET_CFUN_1);
-					Log_Printf_Debug("\r\n>>设置完dns,设置全功能模式\r\n");
+					goto_step(STEP_SET_CGREG_2);
+					Log_Printf_Debug("\r\n>>设置ps域\r\n");
 				}
 			}
 			else if(result == Result_Failed)
 			{
-				goto_failure("查询功能模式失败");
-			}
-		   break;
-		case STEP_SET_CFUN_0_DNS: // 设置完dns,设置最小功能模式
-			result = bc260y.set_cfun(0);
-			if(result == Result_Success)
-			{
-				goto_step(STEP_SET_CFUN_1);
-				Log_Printf_Debug("\r\n>>设置完dns,设置全功能模式\r\n");
-			}
-			else if(result == Result_Failed)
-			{
-				goto_failure("设置完dns,设置最小模式失败");
+				goto_failure("查询DNS失败");
 			}
 			break;
-		case STEP_QUERY_CFUN: // 查询功能模式
-			result = bc260y.query_cfun(&cfun_mode);
+		case STEP_SET_DNS:
+			result = bc260y.set_dns("114.114.114.114", "8.8.8.8"); // 设置DNS
 			if(result == Result_Success)
 			{
-				if(cfun_mode == 0)
-				{
-					goto_step(STEP_SET_CFUN_1);
-					Log_Printf_Debug("\r\n>>设置全功能模式\r\n");
-				}
-				else
-				{
-					goto_step(STEP_SET_CGREG_2);
-					Log_Printf_Debug("\r\n>>设置ps域\r\n");
-				}
+				goto_step(STEP_SET_CFUN_0_DNS);
+				Log_Printf_Debug("\r\n>>设置完dns,设置最小功能模式\r\n");
 			}
 			else if(result == Result_Failed)
 			{
 				goto_failure("查询功能模式失败");
 			}
 		   break;
-		case STEP_SET_CFUN_1: // 设置全功能模式
-			result = bc260y.set_cfun(1);
+		case STEP_SET_CFUN_0_DNS: // 设置完dns,设置最小功能模式
+			result = bc260y.set_cfun(0);
 			if(result == Result_Success)
 			{
-				resend_counter++;
-				goto_step(STEP_SET_CGREG_2);
-				Log_Printf_Debug("\r\n>>设置ps域\r\n");
+				goto_step(STEP_SET_CFUN_1);
+				Log_Printf_Debug("\r\n>>设置全功能模式\r\n");
 			}
 			else if(result == Result_Failed)
 			{
-				resend_counter++;
-				goto_failure("设置全功能模式失败");
+				goto_failure("设置完dns,设置最小模式失败");
 			}
 			break;
 		case STEP_SET_CGREG_2: // 设置ps域
@@ -598,7 +581,7 @@ void UDP_Client_Handle(void)
 			}
 			break;
 		case STEP_RECV: // 等待结果
-			result = bc260y.recv_with_time(connectID, coap_message, &coap_message_length, 4000);
+			result = bc260y.recv_with_time(connectID, coap_message, &coap_message_length, 10000);
 			if(result == Result_Success)
 			{
 				uint8_t res = aliyuniot_recv_data_handle(coap_message, coap_message_length);

+ 57 - 51
Drivers/Modules/bc260y/Bc260y_Initialize.c

@@ -15,7 +15,7 @@
 
 
 // 流程
-enum PowerStep{
+enum Step{
 	STEP_START, // 开始
 	STEP_EXIT_SLEEP, // 退出睡眠
 	STEP_ENTER_SLEEP, // 进入睡眠
@@ -34,9 +34,9 @@ enum PowerStep{
 	STEP_FINISH,
 };
 // 当前
-static enum PowerStep powerstep = STEP_START;
+static enum Step step = STEP_START;
 // 下一步
-static enum PowerStep next_step = STEP_START;
+static enum Step next_step = STEP_START;
 
 static enum Initialize_Result InitializeResult;
 
@@ -44,7 +44,7 @@ static struct TIMER_Struct timer;
 
 
 // 计时相关的变量
-static uint32_t Power_wait_time = 10;
+static uint32_t wait_time = 10;
 
 static uint8_t set_mincfun_flag=1;//0代表正在初始化,1代表空闲
 
@@ -53,57 +53,60 @@ static uint8_t cgreg_stat;
 static uint16_t cgreg_lac; 
 static uint32_t cgreg_ci;
 static uint8_t query_cgreg_times = 0; // 查询网络状态的次数
+
+static uint8_t set_func_0_times = 0; // 设置最小功能模式的次数
 //// 声明函数。步骤跳转
-void pownext_step(enum PowerStep ns);
+void goto_step(enum Step ns);
 // 发送流程
 
 // 等待
-static void powerwait(void)
+static void wait(void)
 {
-	if(time_get_delay(&timer) > Power_wait_time)
+	if(time_get_delay(&timer) > wait_time)
 	{
-	 pownext_step(next_step); // 进入下一步
+	 goto_step(next_step); // 进入下一步
 	 time_clear(&timer);
 	}
 }
 // 失败
-static void power_failure(char * info)
+static void goto_failure(char * info)
 {
 	Log_Printf_Debug("STEP: 初始化失败,%s\r\n", info);
 	networkTest_Flag=1;
-	pownext_step(STEP_FAILURE);
+	goto_step(STEP_FAILURE);
 }
 
 // 成功
-static void power_success(char * info)
+static void goto_success(char * info)
 {
 	Log_Printf_Debug("STEP: 初始化成功,%s\r\n", info);
 	networkTest_Flag=2;
-	pownext_step(STEP_SUCCESS);
+	goto_step(STEP_SUCCESS);
 }
 
  //直接跳转到下一步
-static void pownext_step(enum PowerStep ns)
+static void goto_step(enum Step ns)
 {
 	// 重置ec800m状态
 	bc260y.reset();
-	powerstep = ns; 
+	step = ns; 
 }
 
 // 先等待再跳转到下一步
-static void pownext_wait_step(enum PowerStep ns, uint32_t t)
+static void goto_step_wait(enum Step ns, uint32_t t)
 {
-	pownext_step(STEP_WAIT); // 等待
-	Power_wait_time = t;
+	goto_step(STEP_WAIT); // 等待
+	wait_time = t;
 	next_step = ns; // 等待之后跳转
 }
 
 // 只等待,等待之后返回原来的步骤
-static void pownext_wait(uint32_t t)
+static void goto_wait(uint32_t t)
 {
-	pownext_wait_step(powerstep, t);
+	goto_step_wait(step, t);
 }
 
+
 // 发送数据的逻辑
 static enum Result result = Result_None;
 static uint8_t cfun_mode = 0;
@@ -126,42 +129,42 @@ void Initialize_Handle(void)
 	if(result==Result_Success)
 	{
 		set_mincfun_flag=0;
-		pownext_wait_step(STEP_START,2000);
+		goto_step(STEP_START);
 	}
 	if(set_mincfun_flag==1)
 	{
 		return ;
 	}
 	// 流程
-	switch(powerstep)
+	switch(step)
 	{
 		case STEP_START: // 开始
-			pownext_step(STEP_EXIT_SLEEP);
-		
-		   query_cgreg_times = 0; // 查询网络状态的次数
+		  query_cgreg_times = 0; // 查询网络状态的次数
+			set_func_0_times = 0;
+			goto_step(STEP_EXIT_SLEEP);
 			break;
 		case STEP_EXIT_SLEEP: // 退出休眠
 			result = bc260y.exit_sleep_2();
 			if(result == Result_Success)
 			{
 				Log_Printf_Debug("退出休眠成功\r\n");
-				pownext_wait_step(STEP_SET_QISDE_1, 10);
+				goto_step_wait(STEP_SET_QISDE_1, 10);
 			}
 			else if(result == Result_Failed)
 			{
 				Log_Printf_Debug("退出休眠失败\r\n");
-				power_failure("退出休眠失败");
+				goto_failure("退出休眠失败");
 			}
 			break;
 		case STEP_SET_QISDE_1: // 开启回显
 			result = bc260y.set_qisde(1);
-		   if(result == Result_Success)
+		  if(result == Result_Success)
 			{
-				pownext_step(STEP_SET_SLEEP);
+				goto_step(STEP_SET_CFUN_0);
 			}
 			else if(result == Result_Failed)
 			{
-				power_failure("开启回显失败");
+				goto_failure("开启回显失败");
 			}
 		    break;
 		case STEP_SET_SLEEP: // 设置休眠模式
@@ -169,12 +172,12 @@ void Initialize_Handle(void)
 			if(result == Result_Success)
 			{
 				Log_Printf_Debug("设置休眠模式成功\r\n");
-				pownext_wait_step(STEP_QUERY_CFUN,3);
+				goto_step(STEP_QUERY_CFUN);
 			}
 			else if(result == Result_Failed)
 			{
 				Log_Printf_Debug("设置休眠模式失败\r\n");
-				pownext_step(STEP_FAILURE);
+				goto_failure("设置休眠模式失败");
 			}
 			break;
 		case STEP_QUERY_CFUN: // 查询功能模式
@@ -183,38 +186,38 @@ void Initialize_Handle(void)
 			{
 				if(cfun_mode == 0)
 				{
-					pownext_step(STEP_SET_CFUN_1);
+					goto_step(STEP_SET_CFUN_1);
 				}
 				else
 				{
-					pownext_step(STEP_SET_CGREG_2);
+					goto_step(STEP_SET_CGREG_2);
 				}
 			}
 			else if(result == Result_Failed)
 			{
-				power_failure("查询功能模式失败");
+				goto_failure("查询功能模式失败");
 			}
 		  break;
 		case STEP_SET_CFUN_1:
 			result = bc260y.set_cfun(1);
 			if(result == Result_Success)
 			{
-				pownext_wait_step(STEP_SET_CGREG_2,3);
+				goto_step(STEP_SET_CGREG_2);
 			}
 			else if(result == Result_Failed)
 			{
-				power_failure("设置全功能模式失败");
+				goto_failure("设置全功能模式失败");
 			}
 			break;
 		case STEP_SET_CGREG_2: // 设置ps域
 			result = bc260y.set_cereg(2);
 			if(result == Result_Success)
 			{
-				pownext_wait_step(STEP_QUERY_CGREG,5);
+				goto_step(STEP_QUERY_CGREG);
 			}
 			else if(result == Result_Failed)
 			{
-				power_failure("设置ps域失败");
+				goto_failure("设置ps域失败");
 			}
 			break;
 		case STEP_QUERY_CGREG: // 查询ps域
@@ -224,42 +227,45 @@ void Initialize_Handle(void)
 				if(cgreg_stat == 1)
 				{
 					// 下一步
-			    power_success("查询PS域成功");
-				}
-				else if(query_cgreg_times > 10) // 最多查询10次
-				{
-					power_failure("网络注册失败");
+			    goto_success("查询PS域成功");
 				}
 				else
 				{
-					query_cgreg_times++;
-					pownext_wait(400);
+					goto_failure("网络注册失败");
 				}
 			}
 			else if(result == Result_Failed)
 			{
-				power_failure("网络注册失败");
+				goto_failure("网络注册失败");
 			}
 			break;
 		case STEP_WAIT: // 等待
-			powerwait();
+			wait();
 			break;
 		case STEP_SUCCESS: // 成功
       Log_Printf_Debug("初始化成功\r\n");
-			pownext_step(STEP_FINISH);
+			goto_step(STEP_FINISH);
 			break;
 		case STEP_FAILURE: // 失败
-			pownext_step(STEP_SET_CFUN_0);
+			goto_step(STEP_SET_CFUN_0);
 			break;
 		case STEP_SET_CFUN_0: // 设置最小功能模式
 			result = bc260y.set_cfun(0);
 			if(result == Result_Success)
 			{
-				pownext_step(STEP_FINISH);
+				if(set_func_0_times < 1)
+				{
+					set_func_0_times++;
+					goto_step(STEP_SET_SLEEP);
+				}
+				else
+				{
+					goto_step(STEP_FINISH);
+				}
 			}
 			else if(result == Result_Failed)
 			{
-				pownext_step(STEP_FINISH);
+				goto_step(STEP_FINISH);
 			}
 			break;
 		case STEP_FINISH: // 结束流程

+ 83 - 53
Drivers/Modules/bc260y/Bc260y_Regist.c

@@ -32,7 +32,7 @@
 #include "Common_Util.h"
 #include "Tuoreniot.h"
 
-static Coefficient_Data flashdata;
+//static Coefficient_Data flashdata;
 extern uint8_t mcu_id[8];
 #if  PROD_ENV
 // 生产环境
@@ -43,18 +43,22 @@ static uint16_t REGIST_PORT = 8888; //
 #if TEST_ENV
 // 开发环境
 static char * REGIST_SERVER = "b21759p174.iok.la" ; //注册服务器地址
-static uint16_t REGIST_PORT = 59614; //端口号
+static uint16_t REGIST_PORT = 43097; //端口号
 #endif
 
 static uint8_t tcpconnectID = 2;
 
 // 注册参数
-static struct Regist_Params_Struct regist_params_struct = {
+static struct Regist_Params_Struct regist_params = {
+	.version = 1,
 	.platform = "aliyun",
-	.connType = "CoAP",
+	.networkProtocol = "CoAP",
 	.deviceId = "3431228A1936013C",
 	.userId = 4562
 };
+
+// 注册结果
+static struct Regist_Result_Struct regist_result;
 static uint8_t regist_data[512];
 static uint16_t regist_data_length;
 
@@ -62,31 +66,49 @@ static uint16_t regist_data_length;
 static char pridnsaddr[20];
 
 
+////清空flash
+//void clearflash(void){
+//	flashdata.read_flag=0;
+//	memset(flashdata.deviceSecret, 0, sizeof(flashdata.deviceSecret));
+//	memset(flashdata.productKey, 0, sizeof(flashdata.productKey));
+//	memset(flashdata.deviceName, 0, sizeof(flashdata.deviceName));
+//	my_delay_ms(10);
+//	STMFLASH_Write(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
+//}
+
+
 //清空flash
 void clearflash(void){
-	flashdata.read_flag=0;
-	memset(flashdata.deviceSecret, 0, sizeof(flashdata.deviceSecret));
-	memset(flashdata.productKey, 0, sizeof(flashdata.productKey));
-	memset(flashdata.deviceName, 0, sizeof(flashdata.deviceName));
+	regist_result.code = 0;
 	my_delay_ms(10);
-	STMFLASH_Write(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
+	STMFLASH_Write(FLASH_SAVE_ADDR, (uint16_t*)&regist_result, sizeof(regist_result));
 }
 
+//void storedata(void)
+//{
+//	flashdata.read_flag=1;
+//	strcpy(flashdata.deviceSecret, regist_params.deviceSecret);
+//	strcpy(flashdata.productKey, regist_params.productKey);
+//	strcpy(flashdata.deviceName, regist_params.deviceName);
+//	
+//	my_delay_ms(10);
+//	STMFLASH_Write(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
+//	flashdata.read_flag=0;
+//	my_delay_ms(10);
+//	Log_Printf_Debug("写入数据完成\r\n");
+//	STMFLASH_Read(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
+//	Log_Printf_Debug("读取完成read_flag:%d,deviceSecret:%s,productKey:%s,deviceName:%s\r\n",flashdata.read_flag,flashdata.deviceSecret,flashdata.productKey,flashdata.deviceName);
+
+//}
 void storedata(void)
 {
-	flashdata.read_flag=1;
-	strcpy(flashdata.deviceSecret, regist_params_struct.deviceSecret);
-	strcpy(flashdata.productKey, regist_params_struct.productKey);
-	strcpy(flashdata.deviceName, regist_params_struct.deviceName);
-	
 	my_delay_ms(10);
-	STMFLASH_Write(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
-	flashdata.read_flag=0;
+	STMFLASH_Write(FLASH_SAVE_ADDR, (uint16_t*)&regist_result, sizeof(regist_result));
+	regist_result.code = 0;
 	my_delay_ms(10);
 	Log_Printf_Debug("写入数据完成\r\n");
-	STMFLASH_Read(FLASH_SAVE_ADDR,(uint16_t*)&flashdata,sizeof(flashdata));
-	Log_Printf_Debug("读取完成read_flag:%d,deviceSecret:%s,productKey:%s,deviceName:%s\r\n",flashdata.read_flag,flashdata.deviceSecret,flashdata.productKey,flashdata.deviceName);
-
+	STMFLASH_Read(FLASH_SAVE_ADDR, (uint16_t*)&regist_result, sizeof(regist_result));
+	printf_regist_result_struct(regist_result);
 }
 
 
@@ -105,21 +127,6 @@ uint8_t regist_Handle()
 		result = bc260y.set_qisde_sync(1);//开启回显
 	}
 	if(result==Result_Success)
-	{
-		Log_Printf_Debug("\r\n>>查询DNS\r\n");
-		memset(pridnsaddr, 0, sizeof(pridnsaddr));
-		result = bc260y.query_dns_sync(pridnsaddr); // 查询DNS
-		Log_Printf_Debug("DNS: %s, %d\r\n", pridnsaddr, strlen(pridnsaddr));
-	}
-	if(result==Result_Success)
-	{
-		if(strlen(pridnsaddr) <= 1)
-		{
-			Log_Printf_Debug("\r\n>>设置DNS\r\n");
-			result = bc260y.set_dns_sync("114.114.114.114", "8.8.8.8"); // 设置DNS
-		}
-	}
-	if(result==Result_Success)
 	{
 		Log_Printf_Debug("\r\n>>查询功能模式\r\n");
 		result=bc260y.query_cfun_sync(&cfun_mode);//查询功能模式
@@ -150,6 +157,32 @@ uint8_t regist_Handle()
 		result=bc260y.set_cfun_sync(1);//设置全功能模式
 	}
 	
+	if(result==Result_Success)
+	{
+		Log_Printf_Debug("\r\n>>查询DNS\r\n");
+		memset(pridnsaddr, 0, sizeof(pridnsaddr));
+		result = bc260y.query_dns_sync(pridnsaddr); // 查询DNS
+		Log_Printf_Debug("DNS: %s, %d\r\n", pridnsaddr, strlen(pridnsaddr));
+	}
+	
+	if(result==Result_Success)
+	{
+		if(strlen(pridnsaddr) <= 1)
+		{
+			Log_Printf_Debug("\r\n>>设置DNS\r\n");
+			result = bc260y.set_dns_sync("114.114.114.114", "8.8.8.8"); // 设置DNS
+			if(result==Result_Success)
+			{
+				Log_Printf_Debug("\r\n>>设置最小功能模式\r\n");
+				result=bc260y.set_cfun_sync(0);//设置最小功能模式
+			}
+			if(result==Result_Success)
+			{
+				Log_Printf_Debug("\r\n>>设置全功能模式\r\n");
+				result=bc260y.set_cfun_sync(1);//设置全功能模式
+			}
+		}
+	}
 	
   
  
@@ -180,11 +213,12 @@ uint8_t regist_Handle()
 	if(result==Result_Success)
 	{
 		Log_Printf_Debug("\r\n>>发送数据\r\n");
-		memset(regist_params_struct.deviceId, 0, sizeof(regist_params_struct.deviceId));
-		byteToHexStr(mcu_id, regist_params_struct.deviceId, sizeof(mcu_id));
+		memset(regist_params.deviceId, 0, sizeof(regist_params.deviceId));
+		Log_Printf_Debug("mcu_id: %s\r\n", mcu_id);
+		byteToHexStr(mcu_id, regist_params.deviceId, sizeof(mcu_id));
 		memset(regist_data, 0, sizeof(regist_data));
-		packRegistParams(regist_data, &regist_data_length, regist_params_struct);
-		printf_regist_param_struct(regist_params_struct);
+		packRegistParams(regist_data, &regist_data_length, regist_params);
+		printf_regist_param_struct(regist_params);
 		result =bc260y.send_rai_sync(tcpconnectID, regist_data, regist_data_length, 0);//数据发送
 	}
 	
@@ -203,8 +237,8 @@ uint8_t regist_Handle()
 	{
 		Log_Printf_Debug("\r\n>>解析数据\r\n");
 		// 解析注册数据
-		regist_flag = analysisRegistData(regist_data, regist_data_length, &regist_params_struct);
-		printf_regist_param_struct(regist_params_struct);
+		regist_flag = analysisRegistData(regist_data, regist_data_length, &regist_result);
+		printf_regist_result_struct(regist_result);
 		
 		Log_Printf_Debug("\r\n>>断开tcp连接\r\n");
 		result=bc260y.close_socket_sync(tcpconnectID);//断开tcp连接
@@ -245,21 +279,17 @@ enum Regist_Result regist_get_result(void)
 {
 	if(read_flash_flag == 0)
 	{
-		flashdata.read_flag=0;
 		//读取flash
-		Log_Printf_Debug("读取前read_flag:%d\r\n",flashdata.read_flag);
-		STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)&flashdata,sizeof(flashdata));//读取flash
+		Log_Printf_Debug("读取前:\r\n");
+		printf_regist_result_struct(regist_result);
+		STMFLASH_Read(FLASH_SAVE_ADDR, (u16*)&regist_result, sizeof(regist_result));//读取flash
 		my_delay_ms(10);
-		//已经注册。读取flash成功
-		if(flashdata.read_flag == 1)
-		{
-			register_status=1;
-			Log_Printf_Debug("读取flash成功read_flag:%d,\ndeviceSecret:%s,\n productKey:%s,\ndeviceName:%s\r\n",flashdata.read_flag,flashdata.deviceSecret,flashdata.productKey,flashdata.deviceName); 
-		}
+		Log_Printf_Debug("读取后:\r\n");
+		printf_regist_result_struct(regist_result);
 		read_flash_flag = 1;
 	}
 	
-  if(flashdata.read_flag == 1){
+  if(regist_result.code == 200){
     return Regist_Result_Success;
   }
   else
@@ -270,15 +300,15 @@ enum Regist_Result regist_get_result(void)
 
 char * regist_get_aliyun_productKey(void)
 {
- return flashdata.productKey;
+ return regist_result.productId;
 }
 char * regist_get_aliyun_deviceName(void)
 {
-  return flashdata.deviceName;
+  return regist_result.deviceId;
 }
 char * regist_get_aliyun_deviceSecret(void)
 {
- return flashdata.deviceSecret;
+ return regist_result.deviceSecret;
 }
 #endif
 

+ 91 - 290
Drivers/Modules/bc260y/bc260y.c

@@ -359,7 +359,10 @@ static void setActiveID(uint8_t activeID)
 // 验证ID
 static uint8_t verifyActiveID(uint8_t activeID)
 {
-	if(getActiveID() == 0 || getActiveID() == activeID){ return 1; }
+	if(getActiveID() == 0 || getActiveID() == activeID)
+	{ 
+		return 1; 
+	}
 	else
 	{ 
 		Log_Printf_Debug("activeID  repetition!\r\n");
@@ -371,21 +374,48 @@ static uint8_t verifyActiveID(uint8_t activeID)
 static enum Result overtime(void)
 {
 	setStatus(Status_Overtime); // 超时
+	
+	// 发送日志
+	Log_Printf_Debug("activeID: %d, AT指令接收超时: %d\r\n", bc260y.activeID, AT_result_length());
+	Log_SendArray_Debug(AT_result(), AT_result_length());
+	
 	return Result_Failed; // 结果
 }
 // 返回成功结果
-static enum Result success(void)
+static enum Result success_no_log(void)
 {
 	// 成功
 	setStatus(Status_Success);
 	// 结果
 	return Result_Success;
 }
+// 返回成功结果
+static enum Result success(void)
+{
+	// 发送日志
+	Log_Printf_Debug("activeID: %d, AT接收: %d\r\n", bc260y.activeID, AT_result_length());
+	Log_SendArray_Debug(AT_result(), AT_result_length());
+	return success_no_log();
+}
 // 返回失败结果
-static enum Result failed(void)
+static enum Result failed(int type)
 {
 	// 失败
 	setStatus(Status_Failed);
+	if(type == 1)
+	{
+		Log_Printf_Debug("activeID: %d, error: 接收结果过期,请重置状态\r\n", bc260y.activeID); // 打印日志
+	}
+	else if(type == 2)
+	{
+		// 发送日志
+		Log_Printf_Debug("activeID: %d, AT接收: %d\r\n", bc260y.activeID, AT_result_length());
+		Log_SendArray_Debug(AT_result(), AT_result_length());
+	}
+	else
+	{
+		Log_Printf_Debug("activeID: %d, error: 未知错误类型\r\n", bc260y.activeID); // 打印日志
+	}
 	// 失败结果
 	return Result_Failed;
 }
@@ -403,6 +433,7 @@ void bc260y_reset(void)
 // 发送指令并改变状态
 enum Result send_at(char * cmd, uint8_t activeID)
 {
+	Log_Printf_Debug("activeID: %d, AT发送: %d\r\n", activeID, strlen(cmd)); // 打印日志
 	Log_Printf_Debug(cmd); // 打印AT指令
 	if(send_at_string(cmd)) // 发送AT指令
 	{
@@ -413,10 +444,12 @@ enum Result send_at(char * cmd, uint8_t activeID)
 	}
 	else
 	{
-		Log_Printf_Debug("AT指令发送失败\r\n"); // 打印日志
+		Log_Printf_Debug("activeID: %d, error: AT指令发送失败\r\n", bc260y.activeID); // 打印日志
 		return Result_Failed; // 失败结果
 	}
 }
+
+
 // 退出休眠
 enum Result bc260y_exit_sleep(void)
 {
@@ -433,37 +466,23 @@ enum Result bc260y_exit_sleep(void)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期1,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = overtime(); // 超时
 	}
 	if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "+QNBIOTEVENT:") != NULL)
 	{
-	  // 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 	
@@ -500,37 +519,23 @@ enum Result bc260y_exit_sleep_2(void)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期1,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = success(); // 成功
 	}
 	if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "+QNBIOTEVENT:") != NULL)
 	{
-	  // 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 	
@@ -581,22 +586,16 @@ enum Result bc260y_query_sleep(uint8_t * n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期1,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 	}
 	if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-	
+		result = success(); // 成功
+		
 		// 处理返回结果
 		char * saveptr = NULL;
 		char * split = "\r\n";
@@ -611,15 +610,10 @@ enum Result bc260y_query_sleep(uint8_t * n)
 		// 获取mode
 		* n = atoi(strtok_r(NULL, split_inner, &saveptr_inner));
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -669,30 +663,19 @@ enum Result bc260y_set_sleep(uint8_t n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -740,21 +723,15 @@ enum Result bc260y_query_cfun(uint8_t * n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期1,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 	}
 	if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 	
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -769,16 +746,10 @@ enum Result bc260y_query_cfun(uint8_t * n)
 		strtok_r(Line2, split_inner, &saveptr_inner);
 		// 获取mode
 		* n = atoi(strtok_r(NULL, split_inner, &saveptr_inner));
-		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -811,8 +782,8 @@ enum Result bc260y_set_cfun(uint8_t fun)
 	enum Result result = Result_None;
 	int activeID = 4, time; // 活动ID, 超时时间
 	// 校验参数
-	if(fun == 0){ time = 3000; }
-	else if(fun == 1){ time = 10000; }
+	if(fun == 0){ time = 10000; }
+	else if(fun == 1){ time = 25000; }
 	else
 	{
 		Log_Printf_Debug("set_cfun params error!\r\n");
@@ -828,14 +799,10 @@ enum Result bc260y_set_cfun(uint8_t fun)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		result = overtime(); // 超时
 	}
 	else if(fun == 1 && strstr((char * )AT_result(), "+IP:") != NULL) // 查询是否返回
@@ -843,10 +810,6 @@ enum Result bc260y_set_cfun(uint8_t fun)
 		// 防止接收不完整
 		if(AT_wait_time() > 10) // 过10ms之后再取数据,避免数据截断。
 		{
-			// 发送日志
-			Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-			Log_SendArray_Debug(AT_result(), AT_result_length());
-			
 			result = success(); // 成功
 		}
 	}
@@ -855,20 +818,12 @@ enum Result bc260y_set_cfun(uint8_t fun)
 		// 防止接收不完整
 		if(AT_wait_time() > 10) // 过10ms之后再取数据,避免数据截断。
 		{
-			// 发送日志
-			Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-			Log_SendArray_Debug(AT_result(), AT_result_length());
-			
 			result = success(); // 成功
 		}
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -920,30 +875,19 @@ enum Result bc260y_set_cereg(uint8_t n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -997,20 +941,15 @@ enum Result bc260y_query_cereg(uint8_t * n, uint8_t * stat, uint16_t * lac, uint
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 		
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -1031,15 +970,10 @@ enum Result bc260y_query_cereg(uint8_t * n, uint8_t * stat, uint16_t * lac, uint
 		// 打印
 		Log_Printf_Debug("mode: %d, stat: %d, lac: %d, ci: %d\r\n", * n, * stat, * lac, * ci);
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1093,19 +1027,15 @@ enum Result bc260y_query_socket_state(uint8_t connectID, uint8_t * state)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 		
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -1132,15 +1062,10 @@ enum Result bc260y_query_socket_state(uint8_t connectID, uint8_t * state)
 		// 打印
 		Log_Printf_Debug("result: %d\r\n", * state);
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1197,20 +1122,15 @@ enum Result bc260y_open_socket(uint8_t connectID, char * service_type, char * IP
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "+QIOPEN: ") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());//
+		result = success(); // 成功
 		
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -1236,15 +1156,10 @@ enum Result bc260y_open_socket(uint8_t connectID, char * service_type, char * IP
 			Log_Printf_Debug("result: %d, %d\r\n", connID, * err);
 		}
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1302,29 +1217,19 @@ enum Result bc260y_close_socket(uint8_t connectID)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1374,29 +1279,19 @@ enum Result bc260y_set_qisde(uint8_t echo)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1449,12 +1344,10 @@ enum Result bc260y_send(uint8_t connectID, uint8_t * data, uint16_t data_length)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), ">") != NULL) // 有响应
@@ -1473,27 +1366,15 @@ enum Result bc260y_send(uint8_t connectID, uint8_t * data, uint16_t data_length)
 	}
 	else if(strstr((char * )AT_result(), "SEND OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "SEND FALL\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1555,38 +1436,24 @@ enum Result bc260y_send_rai(uint8_t connectID, uint8_t * data, uint16_t data_len
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 		
 	}
 	else if(strstr((char * )AT_result(), "SEND OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "SEND FALL\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1697,14 +1564,11 @@ enum Result bc260y_recv_with_time(uint8_t connectID, uint8_t * data, uint16_t *
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("等待时间超时\r\n"); // 打印日志
 		result = overtime(); // 超时
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 	}
 	else
 	{
@@ -1712,7 +1576,7 @@ enum Result bc260y_recv_with_time(uint8_t connectID, uint8_t * data, uint16_t *
 		result = bc260y.recv(connectID, data, data_length);
 		if(result == Result_Success)
 		{
-			result = success(); // 成功
+			result = success_no_log(); // 成功
 		}
 	}
 	return result;
@@ -1767,19 +1631,14 @@ enum Result bc260y_power_down(uint8_t n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime();
 	}
 	else if(strstr((char * )AT_result(), "POWERED DOWN\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
 		// 成功结果
 		result = success();
 	}
@@ -1865,25 +1724,16 @@ enum Result bc260y_qeng_servingcell(int * RSRP, int * RSRQ, int * RSSI, int * SI
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 		
-		// 处理返回结果
-//		char * saveptr = NULL;
-//		char * split = "\r\n";
-
 		char * saveptr_inner = NULL;
 		char * split_inner = ",\"";
 		strtok_r((char * )AT_result(), split_inner, &saveptr_inner);
@@ -1898,15 +1748,10 @@ enum Result bc260y_qeng_servingcell(int * RSRP, int * RSRQ, int * RSSI, int * SI
 		// 打印
 		Log_Printf_Debug("RSRP: %d, RSRQ: %d, RSSI: %d, SINR: %d\r\n", * RSRP, * RSRQ, * RSSI, * SINR);
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -1949,20 +1794,15 @@ enum Result bc260y_query_qccid(char * iccid)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 		
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -1982,15 +1822,10 @@ enum Result bc260y_query_qccid(char * iccid)
 		// 打印
 		Log_Printf_Debug("ICCID: %s\r\n", iccid);
 		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -2029,30 +1864,19 @@ enum Result bc260y_dataformat(uint8_t n)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -2103,20 +1927,15 @@ enum Result bc260y_query_dns(char * pridnsaddr)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
+		result = success(); // 成功
 		
 		// 处理返回结果
 		char * saveptr = NULL;
@@ -2132,17 +1951,10 @@ enum Result bc260y_query_dns(char * pridnsaddr)
 		strtok_r(Line2, split_inner, &saveptr_inner);
 		// 字符串拷贝
 		strcpy(pridnsaddr, strtok_r(NULL, split_inner, &saveptr_inner));
-		
-		
-		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }
@@ -2185,30 +1997,19 @@ enum Result bc260y_set_dns(char * pridnsaddr, char * secdnsaddr)
 	}
 	else if(getStatus() != Status_Sending) // 上一次的结果没有清除,返回错误,为了保证时效性,需要重置状态。重新调用
 	{
-		Log_Printf_Debug("返回结果过期,请重置状态\r\n"); // 打印日志
-		
-		result = failed(); // 失败
+		result = failed(1); // 失败
 	}
 	else if(getTimerMs() > time) // 正在发送状态。判断超时
 	{
-		Log_Printf_Debug("AT指令返回超时\r\n"); // 打印日志
 		result = overtime(); // 超时
 	}
 	else if(strstr((char * )AT_result(), "OK\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
 		result = success(); // 成功
 	}
 	else if(strstr((char * )AT_result(), "ERROR\r\n") != NULL) // 查询是否返回
 	{
-		// 发送日志
-		Log_Printf_Debug("AT返回: %d\r\n", AT_result_length());
-		Log_SendArray_Debug(AT_result(), AT_result_length());
-		
-		result = failed(); // 失败
+		result = failed(2); // 失败
 	}
 	return result;
 }

+ 1 - 1
Drivers/Modules/ec800m/Ec800m_Regist.c

@@ -44,7 +44,7 @@ static uint16_t REGIST_PORT = 8888; //
 #if TEST_ENV
 // 开发环境
 static char * REGIST_SERVER = "b21759p174.iok.la" ; //注册服务器地址
-static uint16_t REGIST_PORT = 59614; //端口号
+static uint16_t REGIST_PORT = 43097; //端口号
 #endif
 
 // 注册参数

+ 1 - 1
User/main.c

@@ -25,7 +25,7 @@
 #include "bc260y.h"
 #include "At_Module.h"
 
-uint8_t mcu_id[8] = "ceshi005";
+uint8_t mcu_id[8] = "ceshi006";
 
 // ¼ÆÊ±Æ÷
 static struct TIMER_Struct timer;