From 884a622caba2d4a1720c1c0257347a35709fe48e Mon Sep 17 00:00:00 2001 From: wangfq Date: Mon, 6 Jul 2026 13:47:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor(vd960DBN):=20=E7=BC=93=E5=86=B2?= =?UTF-8?q?=E5=8C=BA=202048=E2=86=921024=EF=BC=8C=E5=8D=95=E6=AC=A1?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=E4=B8=8D=E8=B6=85=201KB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - IOT_MQTT_RECV_BUF_LEN: 2048 → 1024 - IOT_MQTT_SEND_BUF_LEN: 2048 → 1024 - data_json 改用宏 - iot_handle_publish 的 json[] 改 static 防栈溢出 --- .../BLE/OnlyUpdateApp_Peripheral/APP/include/iot_mqtt_srv.h | 4 ++-- vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/iot_mqtt_srv.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/iot_mqtt_srv.h b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/iot_mqtt_srv.h index 260e653..d89bd16 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/iot_mqtt_srv.h +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/include/iot_mqtt_srv.h @@ -21,8 +21,8 @@ #define IOT_MQTT_RECONNECT_MIN_MS 5000 // 最小重连间隔 #define IOT_MQTT_RECONNECT_MAX_MS 60000 // 最大重连间隔 (指数退避上限) #define IOT_MQTT_HEARTBEAT_MS 60000 // 心跳上报周期 (60s) -#define IOT_MQTT_RECV_BUF_LEN 2048 // 接收缓冲区 -#define IOT_MQTT_SEND_BUF_LEN 2048 // 发送缓冲区 +#define IOT_MQTT_RECV_BUF_LEN 1024 // 接收缓冲区 (单次交互 ≤1024) +#define IOT_MQTT_SEND_BUF_LEN 1024 // 发送缓冲区 (单次交互 ≤1024) #define IOT_MQTT_TOPIC_MAX_LEN 128 // Topic 最大长度 /*=========================================================================== diff --git a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/iot_mqtt_srv.c b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/iot_mqtt_srv.c index 8c30c67..2a6d65a 100644 --- a/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/iot_mqtt_srv.c +++ b/vd960DBN/BLE/OnlyUpdateApp_Peripheral/APP/iot_mqtt_srv.c @@ -168,7 +168,7 @@ static int iot_mqtt_publish(const char *topic, const char *payload, /* 处理一条收到的 MQTT PUBLISH 消息 */ static void iot_handle_publish(const char *topic, uint8_t *payload, int payload_len) { - char json[IOT_MQTT_RECV_BUF_LEN]; + static char json[IOT_MQTT_RECV_BUF_LEN]; // static: 避免 1KB 栈开销 int copy_len = payload_len < (int)sizeof(json) - 1 ? payload_len : (int)sizeof(json) - 1; memcpy(json, payload, copy_len); json[copy_len] = '\0'; @@ -392,7 +392,7 @@ void iot_mqtt_publish_sensor(void) { } /* 构建 loop_data JSON */ - static char data_json[2048]; // static: 避免 2KB 栈溢出 + static char data_json[IOT_MQTT_SEND_BUF_LEN]; // static: 避免栈溢出 char *p = data_json; int remaining = sizeof(data_json); int written;