{"id":30694138,"url":"https://github.com/peaceful-world-x/flex_serialport","last_synced_at":"2025-09-02T06:04:11.430Z","repository":{"id":311428758,"uuid":"1043662302","full_name":"Peaceful-World-X/Flex_SerialPort","owner":"Peaceful-World-X","description":"一个基于Qt6的支持自定义按键指令的串口工具","archived":false,"fork":false,"pushed_at":"2025-08-24T15:21:41.000Z","size":203,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-08-24T17:13:35.866Z","etag":null,"topics":["cpp","customkeyboard","qt6","serialport"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Peaceful-World-X.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-24T10:59:55.000Z","updated_at":"2025-08-24T15:53:26.000Z","dependencies_parsed_at":"2025-08-26T00:45:30.949Z","dependency_job_id":null,"html_url":"https://github.com/Peaceful-World-X/Flex_SerialPort","commit_stats":null,"previous_names":["peaceful-world-x/flex_serialport"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Peaceful-World-X/Flex_SerialPort","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peaceful-World-X%2FFlex_SerialPort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peaceful-World-X%2FFlex_SerialPort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peaceful-World-X%2FFlex_SerialPort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peaceful-World-X%2FFlex_SerialPort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Peaceful-World-X","download_url":"https://codeload.github.com/Peaceful-World-X/Flex_SerialPort/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Peaceful-World-X%2FFlex_SerialPort/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273238762,"owners_count":25069762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","customkeyboard","qt6","serialport"],"created_at":"2025-09-02T06:02:24.962Z","updated_at":"2025-09-02T06:04:11.422Z","avatar_url":"https://github.com/Peaceful-World-X.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"src/com.ico\" alt=\"Logo\" width=\"150\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/stars/Peaceful-World-X/Flex_SerialPort\" alt=\"Stars\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/issues/Peaceful-World-X/Flex_SerialPort\" alt=\"Issues\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/Peaceful-World-X/Flex_SerialPort\" alt=\"License\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Qt-6.x-green.svg\" alt=\"Qt Version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/C++-17-blue.svg\" alt=\"C++ Version\"/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Platform-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg\" alt=\"Platform\"/\u003e\n  \u003cimg src=\"https://img.shields.io/github/downloads/Peaceful-World-X/Flex_SerialPort/total\" alt=\"Downloads\"/\u003e\n\u003c/p\u003e\n\n\n\u003ch1 align=\"center\" style=\"font-size: 32px;\"\u003eFlex SerialPort\n  \u003ca href=\"https://github.com/Peaceful-World-X/Flex_SerialPort/releases/latest\" download\u003e点击下载⚡\u003c/a\u003e\n\u003c/h1\u003e\n\n🤖 **Flex SerialPort** 是基于Qt6的串口通信工具，支持**自定义按键矩阵**、**智能编码检测**、**实时日志管理**等强大功能，让串口调试变得简单高效！\n\n## 🥳 主要功能\n\n✨ **智能串口管理**：**一键检测**所有可用串口，支持**热插拔自动刷新**，告别手动搜索的烦恼！支持全参数配置：**`波特率`**、**`数据位`**、**`停止位`**、**`校验位`**。\n\n✨ **自定义按键矩阵**：**8xN**可视化按键网格，支持**字符指令**和**16进制指令**两种模式，右键编辑超便捷，让复杂指令变成一键操作！\n\n✨ **智能编码检测**：自动识别**UTF-8**、**GBK**、**GB2312**、**Big5**等编码格式，彻底解决中文乱码问题！\n\n✨ **实时日志系统**：独立的发送/接收日志窗口，支持**暂停**、**保存**、**清空**操作，带时间戳的专业级调试体验！\n\n✨ **快速配置模式**：支持逗号分隔快速配置（如：**`9600,N,8,1`**），一行搞定所有串口参数设置！\n\n✨ **多种发送方式**：手动发送、按键发送、**回车自动发送**、定时发送，满足各种使用场景需求！\n\n## 🤪 软件使用\n\n🟢 **绿色免安装**，下载即用，支持Windows/Linux/macOS三大平台！\n\n1. **连接串口**：选择端口 → 设置参数 → 点击\"打开串口\"\n2. **快速配置**：在配置框输入 `9600,N,8,1` 按回车即可快速设置\n3. **自定义按键**：右键点击按键网格 → 编辑按键 → 设置名称和指令\n4. **发送数据**：输入框输入内容或点击自定义按键发送\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/深色主题.png\" alt=\"主界面\" width=\"80%\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/浅色主题.png\" alt=\"主界面\" width=\"80%\"/\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc/按键自定义.png\" alt=\"自定义按键\" width=\"50%\"/\u003e\n\u003c/p\u003e\n\n## 🤗 代码编译\n\n### 系统要求\n- **Qt 6.x** 或更高版本\n- **C++17** 编译器\n- **Windows 10/11**、**Linux**、**macOS**\n\n### 一键编译\n```bash\ngit clone https://github.com/Peaceful-World-X/Flex_SerialPort.git\ncd Flex_SerialPort/src\nqmake com.pro\nmake  # Windows: nmake 或 mingw32-make\n```\n\n### Qt Creator编译\n1. 用 **Qt Creator** 打开 `src/com.pro` 文件\n2. 配置编译套件（确保使用 **Qt 6.x**）\n3. 点击\"构建\"按钮编译项目\n4. 在 `bin` 目录找到可执行文件 `FlexSerialPort`\n\n✨ **编译遇到问题？** 欢迎提交Issue，我会及时回复解决！\n\n## 🎯 核心特色\n\n### 🔥 自定义按键系统\n- **8x6按键矩阵**：48个可自定义按键，满足各种复杂指令需求\n- **双模式支持**：字符指令 + 16进制指令，适配不同设备协议\n- **一键编辑**：右键即可编辑按键，支持备注和指令设置\n- **智能管理**：动态添加/删除行列，智能检测使用中的按键\n\n### 🧠 智能编码引擎\n- **自动检测**：智能识别UTF-8、GBK、GB2312、Big5编码\n- **实时转换**：发送和接收数据自动进行编码转换\n- **调试模式**：显示原始字节数据，方便问题排查\n- **兼容性强**：完美支持中文、英文、特殊字符\n\n### ⚡ 高效通信体验\n- **热插拔支持**：串口设备插拔自动检测刷新\n- **快速配置**：一行命令设置所有串口参数\n- **多种发送**：手动、按键、回车、定时四种发送方式\n- **专业日志**：独立发送/接收窗口，支持暂停保存\n\n## 💡 使用技巧\n\n### 快速上手三步走\n1. **选择串口** → 点击端口下拉框自动检测设备\n2. **快速配置** → 输入 `115200,N,8,1` 按回车完成设置\n3. **开始通信** → 点击\"打开串口\"即可开始数据收发\n\n### 高级技巧\n- 💡 **批量指令**：将常用指令设置为自定义按键，提高调试效率\n- 💡 **编码调试**：遇到乱码时勾选\"自动检测\"让软件智能处理\n- 💡 **日志分析**：使用独立日志窗口分析数据流，支持时间戳\n- 💡 **配置备份**：所有设置自动保存，换电脑也能快速恢复\n\n## 🔧 配置说明\n\n程序配置自动保存在 `bin/flex_serialport_config.yaml` 文件中：\n```yaml\nSerialPort:\n  portName: \"COM1\"\n  baudRate: 9600\n  dataBits: 8\n  stopBits: 1\n  parity: \"N(无)\"\n  timestampDisplay: true\n  hexDisplay: false\n  hexSend: false\n  autoSendEnter: true\n  enterChars: \"0D0A\"\n  encoding: \"UTF-8\"\n\nTable:\n  rows: 6\n  cols: 8\n\nButtons:\n  \"0,0\":\n    remark: \"按键1\"\n    command: \"1\"\n    row: 0\n    col: 0\n    isValid: true\n```\n\n## 🙏 鸣谢\n- [Qt Framework](https://www.qt.io/) - 强大的跨平台开发框架\n- [Qt SerialPort](https://doc.qt.io/qt-6/qtserialport-index.html) - 专业的串口通信模块\n- 所有提供反馈和建议的用户朋友们\n\n## 📞 联系\n\u003cp align=\"left\"\u003e\n  \u003cimg src=\"https://open.weixin.qq.com/zh_CN/htmledition/res/assets/res-design-download/icon64_appwx_logo.png\" alt=\"公众号图标\" width=\"15\" style=\"vertical-align: middle;\"/\u003e\n  \u003ca href=\"https://mp.weixin.qq.com/s/oKylZyrSxNqMK8lUIo4RAw\" style=\"font-size: 30px; color: green; text-decoration: none; font-family: sans-serif;\"\u003e耗不尽的先生🥳\u003c/a\u003e\n\u003c/p\u003e\n\n- 📧 **邮箱联系**：[Peaceful_World@qq.com](mailto:Peaceful_World@qq.com)\n- 🐛 **问题反馈**：[GitHub Issues](https://github.com/Peaceful-World-X/Flex_SerialPort/issues)\n- 💡 **功能建议**：欢迎在Issues中提出新功能建议\n- 🤝 **技术交流**：欢迎Fork项目并提交PR\n\n---\n\n⭐ **觉得好用请给个Star支持一下！** 您的支持是我持续更新的动力！🚀\n\n✨ **欢迎反馈BUG**，后续会视情况添加新功能！（项目持续维护中，有问题非常欢迎反馈~）\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeaceful-world-x%2Fflex_serialport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeaceful-world-x%2Fflex_serialport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeaceful-world-x%2Fflex_serialport/lists"}