解决了连接失败后,重连指令未输入命令ATE0关闭回显造成的回显超出resp大小的问题,

This commit is contained in:
小马_666 2025-02-06 16:40:57 +08:00
parent 138d8a5111
commit a9fcd97121
2 changed files with 21 additions and 13 deletions

View File

@ -843,7 +843,7 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device,
LOG_D("断网,等待连接中......\n"); LOG_D("断网,等待连接中......\n");
ret = RT_ERROR; ret = RT_ERROR;
} }
rt_thread_mdelay(3000); rt_thread_mdelay(5000);
} }
} }
if (rt_strcmp(event->event_name, "掉电事件") == RT_EOK) if (rt_strcmp(event->event_name, "掉电事件") == RT_EOK)
@ -1477,6 +1477,12 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
LOG_D("AT device power on success"); LOG_D("AT device power on success");
/* disable echo */ /* disable echo */
at_client_obj_wait_connect(device->client, 5000); at_client_obj_wait_connect(device->client, 5000);
/* disable echo */
if (at_obj_exec_cmd(device->client, resp, "ATE0") != RT_EOK)
{
result = -RT_ERROR;
goto __exit;
}
/*AT+QICFG="dataformat" 设置收发模式*/ /*AT+QICFG="dataformat" 设置收发模式*/
if (at_obj_exec_cmd(device->client, resp, "AT+QICFG=\"dataformat\",%d,%d", AT_NSONMI_MODE_DEFAULT, AT_NSONMI_MODE_DEFAULT) != RT_EOK) if (at_obj_exec_cmd(device->client, resp, "AT+QICFG=\"dataformat\",%d,%d", AT_NSONMI_MODE_DEFAULT, AT_NSONMI_MODE_DEFAULT) != RT_EOK)
{ {
@ -1524,8 +1530,8 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
goto __exit; goto __exit;
} }
at_delete_resp(resp);
} }
at_delete_resp(resp);
} }
} }
else else
@ -1538,15 +1544,17 @@ static void Nt26k_Life_Thread_Entry(void *parameter)
{ {
nt26k_disconnect_retry_flag = 1; nt26k_disconnect_retry_flag = 1;
LOG_D("重连网络失败,等待%d s后重连\n", delay_n * 5); LOG_D("重连网络失败,等待%d s后重连\n", delay_n * 5);
rt_thread_mdelay(5000);
rt_thread_mdelay(delay_n * 5000); // rt_thread_mdelay(delay_n * 5000);
delay_n++;
if (delay_n >= 66) // 大于3小时的重连都不行则重启设备 // delay_n++;
{ // if (delay_n >= 66) // 大于3小时的重连都不行则重启设备
Flash_Set_WorkDuration(work_duration); // {
delay_n = 0; // Flash_Set_WorkDuration(work_duration);
reboot(); // delay_n = 0;
} // reboot();
// }
nt26k_conncet_tcp_flag = 0;
rt_sem_release(nt26k_disconnect_sem); rt_sem_release(nt26k_disconnect_sem);
} }
} }

View File

@ -15,8 +15,8 @@
/*使用动态日志及密码功能时,需开启宏 FINSH_USING_AUTH ULOG_USING_FILTER ENABLE_LOG_ALL ULOG_OUTPUT_LVL = 7 以及设置ulog.c 1522行 输出等级为0*/ /*使用动态日志及密码功能时,需开启宏 FINSH_USING_AUTH ULOG_USING_FILTER ENABLE_LOG_ALL ULOG_OUTPUT_LVL = 7 以及设置ulog.c 1522行 输出等级为0*/
/**/ /**/
#define FINSH_USING_AUTH //开启终端密码登录功能 // #define FINSH_USING_AUTH //开启终端密码登录功能
#define ULOG_USING_FILTER //开启动态修改日志等级 默认修改在ulog.c 1522行 // #define ULOG_USING_FILTER //开启动态修改日志等级 默认修改在ulog.c 1522行
#define ENABLE_LOG_ALL #define ENABLE_LOG_ALL
#define TEST_ENABLE //打开所有的终端测试程序 #define TEST_ENABLE //打开所有的终端测试程序