case PUBLISH: { ... } was missing its closing }, causing ARMCC to think iot_send_heartbeat and iot_connect_broker were declared inside a function body.
- Add extern g_report_active (from tcp_json_srv.h) - Fix iot_make_topic call: 4-arg -> 5-arg (add NULL for 'status' sub) - Fix SOCK_INF field names: DestPort->DesPort, DestAddr->IPAddr - Fix struct _WCHNET_IPAddr -> uint8_t broker_ip[4] (type not available)
新增文件: - iot_mqtt_srv.h/c: MQTT 客户端 (TCP→CONNECT→SUBSCRIBE→READY) 支持: dev_info_query, pwd_verify (其他命令框架预留) 上报: loop_data (传感器), heartbeat (心跳 60s) 断线重连: 指数退避 5s~60s 协议: DLD960 IoT MQTT V1.00 (dld960/{sn}/...) 修改: - net_config.h: 新增 NET_IOT_ENABLE = !NET_SSC_ENABLE, IoT 模式分配 1 TCP socket (MQTT client) - net_srv.c: IoT 初始化 + socket 中断路由 - peripheral_main.c: IoT poll + sensor publish 调用 模式: NET_SSC_ENABLE=1 → SCC + TCP JSON Server (原有行为) NET_SSC_ENABLE=0 → IoT MQTT Client (新增)