# SerialFrame **Repository Path**: delphi_1/SerialFrame ## Basic Information - **Project Name**: SerialFrame - **Description**: 基于 Delphi + CPort 组件开发,实现工业级稳定串口数据接收与解析。 采用 帧头 + 数据长度 + 数据 + 校验和 标准安全格式, - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 工业级串口稳定通讯框架 解决粘包、分包、接收超时、数据错位、帧头冲突问题 ## 项目介绍 本项目基于 Delphi + CPort 组件开发,实现工业级稳定串口数据接收与解析。 采用 **帧头 + 数据长度 + 数据 + 校验和** 标准安全格式,即使数据内容包含 0xAA 也不会误判帧头,解析稳定可靠。 ## 运行截图 ![接收解析日志](./img/log.png) ## 功能特点 - 自动处理粘包、半包、分包 - 50ms 接收超时自动清空缓存 - 严格按数据长度定帧,不误判 - 支持单字节校验和验证 - 自动过滤无效数据,稳定性强 - 数据内容可包含任意字节(0x00 ~ 0xFF) ## 通讯协议格式 帧结构:AA 数据长度 数据1 数据2 ... 校验和 - 帧头:0xAA(固定) - 数据长度:仅表示数据部分字节数 - 数据:业务数据 - 校验和:帧头 + 数据长度 + 全部数据(单字节求和) 总帧长度 = 1 + 1 + N + 1 ## 正确测试报文 发送帧:AA 03 11 22 33 13 解析结果: - 数据长度:3 - 数据内容:11 22 33 - 校验和:0x13(正确) ## 开发环境 - 开发工具:Delphi 7 - 串口组件:CPort 4.11k - 通讯方式:RS232 / 虚拟串口 - 波特率:9600 / 19200 ## 项目文件 - SerialFrame.dpr 工程主文件 - SerialFrame.cfg 编译配置 - SerialFrame.dof 项目配置 - SerialFrame.res 资源文件 - MainUnit.pas 核心代码 - MainUnit.dfm 窗体布局 - README.md 项目说明 ## 核心技术 - 串口异步接收 - 数据缓存拼接 - 滑动窗口帧解析 - 超时机制 - 校验和验证 - 工业级稳定协议 ## 测试方法 1. 打开虚拟串口 2. 运行程序并打开串口 3. 发送测试帧:AA 03 11 22 33 13 4. 程序自动解析并显示正确数据与校验 ## 应用场景 - 工业仪表数据采集 - 温湿度传感器通讯 - PLC 串口上位机 - 单片机/嵌入式设备监控