wangfq 0e116c2d31 fix(net_srv): MQTT 主动上报无数据 + PINGREQ 缺失导致断连
问题1: iot_mqtt_publish_sensor() 检查 g_iot_state != IOT_STATE_READY 直接 return,
但 g_iot_state 从未被 net_srv.c 内联 MQTT 处理器设置为 READY → 无传感数据上报

问题2: poll_mqtt() 依赖 flag_mqtt_ping_send 触发 PINGREQ,
但该标志从未被设为 1 → broker keepalive 超时断连 (~12s)

修复:
- mqtt_data_manage() CONNACK: 设 g_iot_state=IOT_STATE_READY
- WCHNET_HandleSockInt DISCONNECT: 设 g_iot_state=IOT_STATE_DISCONNECTED
- mqtt_data_manage() PINGRESP: 重置 flag_mqtt_ping_err
- poll_mqtt(): g_activ_counter > 9000 自动触发 PINGREQ
2026-07-08 08:55:10 +08:00
2026-06-22 17:02:23 +08:00

vd_960 — 车检器 DLD960 嵌入式软件

产品概述

DLD960 是一款双 MCU 架构的车检器(车辆检测器),采用线圈检测原理。

硬件架构

芯片 型号 主频 Flash SRAM 职责
线圈 MCU AT32F421 120MHz 64KB 16KB 四路线圈信号采集与处理
通信 MCU CH32V208 144MHz 128KB 64KB 蓝牙、网口、1路 RS485

两个 MCU 之间通过内部总线(UART/SPI)通信。

子项目

子项目 目录 MCU 功能
vd960Loop vd960Loop/ AT32F421 线圈驱动、频率采样、车辆检测算法
vd960DBN vd960DBN/ CH32V208 蓝牙管理、TCP/IP 协议栈、RS485 通信

开发环境

  • vd960Loop: Keil MDK / AT32 IDEARM Cortex-M4
  • vd960DBN: MounRiver StudioRISC-V
S
Description
车检器 DLD960 嵌入式软件 — 双MCU架构(AT32F421+CH32V208)
Readme
5.4 MiB
2026-08-21 09:07:40 +08:00
Languages
C 98.1%
Python 0.9%
Assembly 0.6%
CMake 0.2%
Linker Script 0.2%