# uart_file **Repository Path**: GeekKernel/uart_file ## Basic Information - **Project Name**: uart_file - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 串口收发文件工具(Qt Widgets + QSerialPort) ## 构建环境 - 工程类型:`.pro`(qmake) - 依赖模块:`core gui widgets serialport` - 建议:Qt 5.12 + MinGW(本工程已按 Qt5 兼容写法实现) ## 界面说明(伪装为普通串口助手) - 普通模式:发送按钮仅发送文本(带换行) - 兼容模式(伪装按钮):点击 `兼容模式` 后,发送按钮走文件协议 - 导入按钮:`导入模板`(实际用于选择待发送文件) ## 隐蔽路径设置 - 默认接收目录:`文档/SystemCache` - 快捷键:`Ctrl+Shift+P` - 弹框里输入新的缓存路径即可更新接收落盘位置 ## 文件协议特性 - 单端支持同时收与发(同一串口连接可同时处理接收会话和发送会话) - 分块大小:1024 字节 - 数据混淆:基于 `sessionId + seq` 的轻量异或流混淆(线上块数据非明文) - 每块校验:CRC32(块内校验) - 帧校验:CRC32(头+载荷) - 丢包/错包恢复:ACK/NACK + 超时重传 - 最终完整性:SHA-256 全文件校验(FIN 阶段验证) ## 运行流程 1. 打开串口(默认波特率为 `1152000`) 2. 点击 `导入模板` 选择要发送的文件 3. 打开 `兼容模式` 4. 点击 `发送` 开始文件传输 5. 接收完成后文件写入隐藏目录(日志区会显示最终保存路径)