0df580b1f6f1fd87c7ba4e3c689651207f82ec16
net_srv.c: - 新增 g_work_buf[1024] 共享全局 buffer - 替换 manage_mqtt_recv_message() 中 14 处 malloc/free + 14 处栈上 resp[N] - 消除 mqtt_data_manage() 中重复的 static MyBuf[1152],复用全局 MyBuf - expand MAX_MQTTBUF_LEN 512→1280 (移到 net_srv.h) - 新增 WORK_BUF_SIZE 宏,修复 sizeof(resp) 指针截断 bug iot_mqtt_srv.c: - iot_mqtt_publish() 复用 net_srv.c 的 mqttBuf[1280],移除自有 static buf[1024] net_srv.h: - 新增 MAX_MQTTBUF_LEN 宏定义 (1280) 收益: - 消除 ~14 次 malloc/free 堆操作 (CH32V208 堆极小,malloc 容易失败) - BSS 节省 ~1152 + 1024 = 2176 字节 - 减少中断上下文栈压力 (移除 ~5KB 栈上临时数组)
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 IDE(ARM Cortex-M4)
- vd960DBN: MounRiver Studio(RISC-V)
Releases
4
vd960DBN V1.02.05(DBN 单侧发布)
Latest
Languages
C
98.1%
Python
0.9%
Assembly
0.6%
CMake
0.2%
Linker Script
0.2%