一个用于解析和验证串口通信数据帧的桌面应用程序。
当前版本:v1.5.0 | 最后更新:2026年01月04日
# 运行程序 ./.qtcreator/Python_3_10_12venv/bin/python main_window.py # 运行测试 ./test_v1.3.0.sh
✅ 支持自定义协议配置
✅ 灵活的校验算法(累加和、CRC16、CRC32、异或)
✅ 可自定义校验范围(从第N字节到第M字节)
✅ 直观的图形界面(Fluent Design)
✅ 字段可视化解析
✅ 结果导出(TXT/CSV)
✅ 点击高亮联动功能
✅ 点击高亮联动 - 点击字节/字段标签实现双向高亮联动
✅ 简化颜色方案 - 使用单一金色(#FFD700)高亮,视觉效果更清晰
✅ 性能优化 - 预定义样式、状态检查、最小化刷新
✅ Bug修复 - 修复FIELD_COLORS AttributeError问题
✅ Fluent Design UI - 采用PySide6-Fluent-Widgets实现现代化界面
✅ 虚拟滚动优化 - 支持大数据量(10000+帧)的流畅显示
✅ 帧详情面板 - 点击帧可查看详细的字节和字段解析
✅ 项目管理 - 支持保存/加载完整项目配置
✅ 简化协议配置 - 全新的绝对位置配置方式,更直观易用
✅ 固定帧长度支持 - 避免数据中伪帧尾标识导致的解析错误
✅ GUI 配置增强 - 新增固定帧长度和绝对位置配置输入控件
✅ 多策略帧识别 - 固定长度 → 长度字段 → 帧尾搜索,自动选择最佳策略
✅ 配置向导文档 - 完整的配置指南和实际案例(Langhua 协议)
✅ Bug 修复 - 修复多个 UI 和解析相关的问题
✅ 字段类型下拉选择 - 协议配置中数据类型改为下拉菜单,避免输入错误
✅ 字段彩色显示 - 可为不同字段类型配置颜色,分析结果以HTML彩色显示
✅ 分析历史记录 - 自动保存每次分析,支持查看和对比历史记录
✅ 颜色配置UI - 在设置Tab中自定义10种字段类型的颜色
✅ 历史记录对话框 - 查看详细的分析历史,包括时间、协议、统计、帧摘要
✅ 协议格式自动转换 - 支持标准格式和扩展格式JSON
✅ 格式说明Tab - 内置协议JSON格式文档和示例
✅ 协议历史记录 - 快速切换最近使用的协议
✅ AI友好 - 可让AI助手直接生成协议JSON文件
{
"protocol_name": "示例协议",
"version": "1.0",
"frame_header": "68",
"frame_tail": "16",
"frame_length": 106,
"checksum_config": {
"checksum_type": "sum",
"checksum_position": 104,
"checksum_start": 0,
"checksum_end": 104,
"checksum_length": 1
},
"fields": [
{
"name": "设备地址",
"byte_count": 1,
"field_type": "uint8",
"description": "设备地址",
"order": 0
}
]
}💡 简化配置优势:
- 使用
frame_length指定固定帧长度,避免数据中伪帧尾干扰- 使用
checksum_position绝对位置,更直观明确- 使用
checksum_start/end绝对范围,无需计算偏移量
{
"protocol_name": "示例协议",
"version": "1.0",
"frame_header": "68",
"frame_tail": "16",
"checksum_config": {
"checksum_type": "累加和",
"position": "帧尾前",
"start_offset": 0,
"end_offset": -1,
"checksum_length": 1
},
"fields": [...]
}{
"protocol_name": "工业协议",
"fields": [
{
"index": 0,
"name": "设备地址",
"byte_count": 1,
"field_type": "fixed",
"format": "HEX"
}
]
}💡 提示: 可以让ChatGPT/Claude等AI助手根据协议文档生成JSON,程序会自动识别并转换格式!
详细文档请查看 document/ 目录:
- 📖 配置指南(推荐):
PROTOCOL_CONFIG_GUIDE.md- 简化配置完整教程 - ⚡ 快速参考:
CONFIG_QUICK_REFERENCE.md- 配置字段速查表 - 🎯 配置示例:
protocol_simple_example.json- 简化配置模板 - 📚 使用指南:
document/使用指南_20251101.md - 💡 功能说明:
document/功能说明.md - 🏗️ 架构设计:
document/架构设计_20251101.md - 👨💻 开发指南:
document/QUICKSTART_20251101.md - 🔄 格式转换:
document/功能更新_协议格式兼容_20251101.md - ✅ 测试报告:
document/测试报告_协议格式兼容_20251101.md
- ✨ 点击高亮联动功能 - 字节和字段双向高亮
- 🎨 简化颜色方案 - 单一金色高亮
- ⚡ 性能优化 - 预定义样式、状态检查
- 🐛 修复FIELD_COLORS AttributeError
- ✨ Fluent Design UI 界面
- ✨ 虚拟滚动支持大数据量
- ✨ 帧详情面板
- ✨ 项目管理功能
- ✨ 简化协议配置 - 绝对位置配置方式
- ✨ 固定帧长度支持
- ✨ 多策略帧识别
- ✨ 新增协议格式自动转换功能
- ✨ 新增格式说明Tab
- ✨ 新增协议历史记录功能
- 🐛 修复字段类型兼容性问题
- 📝 完善文档和测试
- 🎉 初始版本发布
- ✨ 基础协议解析功能
- ✨ 自定义校验范围
- ✨ 可编辑字段表
- Python 3.10+
- PySide6 (Qt 6.10)
- 模块化架构设计 (models/core/utils)
SerialDataCompare/
├── main_window.py # 主窗口
├── models/ # 数据模型
│ ├── protocol.py # 协议配置
│ └── data_frame.py # 数据帧
├── core/ # 核心逻辑
│ ├── parser.py # 数据解析器
│ ├── checksum.py # 校验计算器
│ ├── protocol_manager.py # 协议管理
│ ├── protocol_converter.py # 格式转换器
│ └── protocol_history.py # 历史记录
├── utils/ # 工具函数
│ └── helpers.py # 辅助函数
└── document/ # 文档
## 许可证
[添加许可证信息]