From f31b8b79525af7f81f94892c2e0b66673da6329f Mon Sep 17 00:00:00 2001 From: xushaoxiang Date: Thu, 4 Jun 2026 14:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...df19-2341-4343-bda3-6dffcbfbe243.gitignore | 33 ++++ README.md | 164 ++++++++++++++++++ doc/HPW422_V1.1.xlsx | Bin 0 -> 12577 bytes doc/hpw422蓝牙协议.xls | Bin 0 -> 38400 bytes 4 files changed, 197 insertions(+) create mode 100644 8759df19-2341-4343-bda3-6dffcbfbe243.gitignore create mode 100644 README.md create mode 100644 doc/HPW422_V1.1.xlsx create mode 100644 doc/hpw422蓝牙协议.xls diff --git a/8759df19-2341-4343-bda3-6dffcbfbe243.gitignore b/8759df19-2341-4343-bda3-6dffcbfbe243.gitignore new file mode 100644 index 0000000..167138a --- /dev/null +++ b/8759df19-2341-4343-bda3-6dffcbfbe243.gitignore @@ -0,0 +1,33 @@ +#*.uvoptx +#OutputFiledir & Files +Listings/ +Objects/ +*.crf +*.d +*.o +*.build_log.htm +*.axf +*.htm +*.lnp +*.dep +*.map +*.bin +*.hex + +#Keil Layout File +*.uvguix.* + +#DebugConfig +DebugConfig/ + +#Keil Project screen layout file +*.uvguix.* +*.uvgui.* + +#JLINK file +*JLinkLog.txt +*JLinkSettings.ini + +#temp files +~$* +*.TMP \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..b02a659 --- /dev/null +++ b/README.md @@ -0,0 +1,164 @@ +# hpw422 项目说明 + +## 项目基本信息 + +| 项目名称 | hpw422 | +| ---------- | ------------------------------ | +| 产品类型 | 220V两通道智能通断器 | +| 项目负责人 | 徐少祥 | +| 硬件版本 | V1.1 | +| 固件版本 | V1.0 | +| 创建日期 | 2026-06-04 | + +--- + +## 主控芯片 +* 433:WS480L +* BLE:XC6517 SOP16 +* Flash:内置 Flash + +--- + +## 开发环境 + +* Keil MDK V5 + + + +### 编译器 + +* ARMCC V5 + +--- + +## 工程路径 +project\example\ble\ble_peripheral\mdk + +打开方式: + +双击 MDK/ble_peripheral.uvprojx + +--- + +## 烧录说明 + +### 烧录器 +*USB TO TTL串口 + +### 烧录软件 +* ComV14.4.4 + +### 烧录接口 + +| 引脚 | 说明 | +| ----- | ---- | +| VCC | 电源 | +| GND | 地 | +| R | 串口接收 | +| T | 串口发送 | +| BT | 电源 | + +--- + +## 编译方法 + +Rebuild + +输出文件: +project\example\ble\ble_peripheral\mdk\output_bin目录下ble_peripheral.bin文件 + + +--- + +## 仓库目录结构 + +```text +hpw422 +│ +├── component +│ ├── ble +│ ├── rf24 +│ ├── SBC +│ └── xc6xx_drivers +│ +├── doc +│ ├── hpw422蓝牙协议 +│ └── BOM +│ +├── project +│ ├── delete.bat +│ └── example + ├── 2.4g + ├── ble + ├── driver +├── tools +│ └── ComV14.4.4 +│ +└── README.md +``` +--- + +## 蓝牙协议 + +协议文档位置: + +hpw422\doc\hpw422蓝牙协议.xls + +--- + +## Git提交规范 + +提交前: + +```shell +git pull +``` + +提交: + +```shell +git add . + +git commit -m "修复BLE连接异常" + +git push +``` + +禁止: + +```text +修改 +更新 +测试 +123 +abc +``` + +推荐: + +```text +修复BLE连接异常 +增加RF433学习码功能 +优化PWM调光曲线 +修复定时器逻辑 +增加OTA升级功能 +``` + +--- + +## 注意事项 + +1. 修改协议必须同步更新协议文档。 +2. 修改硬件必须同步更新BOM。 +3. 发布版本必须同步更新ReleaseNote。 +4. 禁止将源码仅保存在个人电脑。 +5. 所有发布版本必须上传至Gitea仓库。 +6. 离职前必须完成代码交接与文档更新。 + +--- + +## 修改记录 + +| 日期 | 作者 | 内容 | +| ---------- | ---- | -------- | +| 2026-06-04 | 徐少祥 | 创建项目 | diff --git a/doc/HPW422_V1.1.xlsx b/doc/HPW422_V1.1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..36aa7d4bd5879d0646d1416ef2b3230d333e6706 GIT binary patch literal 12577 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 literal 0 HcmV?d00001 diff --git a/doc/hpw422蓝牙协议.xls b/doc/hpw422蓝牙协议.xls new file mode 100644 index 0000000000000000000000000000000000000000..17047e18785f548823cb72819e377e2b702df9d0 GIT binary patch literal 38400 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 literal 0 HcmV?d00001