diff --git a/bsp/src/at_device_nt26k.c b/bsp/src/at_device_nt26k.c index 54b2981..2887ac6 100644 --- a/bsp/src/at_device_nt26k.c +++ b/bsp/src/at_device_nt26k.c @@ -2,7 +2,7 @@ * @Author : stark1898y 1658608470@qq.com * @Date : 2024-09-04 13:33:49 * @LastEditors: mbw && 1600520629@qq.com - * @LastEditTime: 2025-01-17 13:21:08 + * @LastEditTime: 2025-01-18 13:08:02 * @FilePath: \JT-DT-YD4N02A_RTT_MRS-NT26K\bsp\src\at_device_nt26k.c * @Description : * @@ -224,6 +224,7 @@ static void urc_tcp_recv(struct at_client *client, const char *data, rt_size_t s /*比较数组的长度和结构体的长度是否一致,如果不一致则数据解析错误,如果一致复制数组值到结构体中*/ if (len == sizeof(struct Nt26kRecvData)) { + nt26k_connect_sever_flag = 1; rt_memset(nt26k_ops.recv, 0, sizeof(struct Nt26kRecvData)); // 清空结构体 rt_memcpy(nt26k_ops.recv, recv_byte_buf, sizeof(struct Nt26kRecvData)); if ((nt26k_ops.recv->recv_data.event_type == INSTRUCTION_HEART_BEAT) || diff --git a/bsp/src/bsp_nt26k.c b/bsp/src/bsp_nt26k.c index 8725039..8113797 100644 --- a/bsp/src/bsp_nt26k.c +++ b/bsp/src/bsp_nt26k.c @@ -2,7 +2,7 @@ * @Author: mbw * @Date: 2024-10-09 08:42:14 * @LastEditors: mbw && 1600520629@qq.com - * @LastEditTime: 2025-01-18 12:07:08 + * @LastEditTime: 2025-01-18 13:08:16 * @FilePath: \JT-DT-YD4N02A_RTT_MRS-NT26K\bsp\src\bsp_nt26k.c * @Description: * @@ -815,7 +815,6 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device, if (rt_sem_take(nt26k_recv_heart_sem, 5000) == RT_EOK) { LOG_D("收到心跳回复\n"); - nt26k_connect_sever_flag = 1; return RT_EOK; // 函数执行完毕,返回0 } else @@ -823,7 +822,6 @@ int Nt26k_Process_Events(Nt26kEvent nt26k_recv_event, struct at_device *device, LOG_E("nt26k send cmd failed\n"); // 收不到说明断网了,重连下10s后再发送 LOG_D("rt_sem_release (nt26k_disconnect_sem)"); nt26k_conncet_tcp_flag = 0; - nt26k_connect_sever_flag =0; rt_thread_mdelay(1); rt_sem_release(nt26k_disconnect_sem); rt_thread_mdelay(5000); @@ -1464,6 +1462,7 @@ static void Nt26k_Life_Thread_Entry(void *parameter) if (!nt26k_conncet_tcp_flag) { LOG_D("重连网络中...\n"); + nt26k_connect_sever_flag = 0; at_response_t resp = at_create_resp(64, 0, 5000); if (resp == RT_NULL) {