| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 6 天前 | ||
| 1 天前 | ||
| 20 天前 |
HiDiTing V100 示例工程
本目录提供可直接阅读、编译和二次开发的 Native 示例与 OpenHarmony Lite JS 应用。建议先根据开发目标选择示例类型,再进入具体工程阅读项目级 README.md;每个 README 都给出了功能、代码入口、构建方式和运行方法。
选择示例类型
| 类型 | 适用场景 | 主要交付物 | 目录 |
|---|---|---|---|
| Native 示例 | 驱动、系统服务、无线连接、AT 指令、安全、升级和低功耗等 C 语言开发 | 随 diting-community 目标生成的固件包 |
Native 示例导航 |
| JS 应用 | UI、网络、蓝牙、文件、按键、媒体和系统接口应用开发 | HAP 应用包及转换后的应用镜像 | js_samples |
开发环境
三种环境都可以用于 SDK 开发,命令行环境更适合自动化构建和问题复现。
| 环境 | 适用方式 | 使用指南 |
|---|---|---|
| 一站式 CLI(推荐) | Windows 下完成配置、编译、烧录和串口监视 | 一站式 CLI 开发环境使用指南 |
| HiSpark Studio for VS Code | 使用图形界面管理工程、构建和烧录 | HiSpark Studio for VS Code 开发环境使用指南 |
| WSL + Docker | 在隔离的 Linux 容器中构建,适合持续集成 | WSL + Docker 环境使用指南 |
Native 示例快速开始
-
在下表中选择最接近需求的示例,先阅读对应 README 中的硬件条件、引脚和指令说明。
-
按示例 README 检查目标组件和功能宏是否已启用。
-
在仓库根目录使用一站式 CLI 构建社区固件:
fbb build --clean diting-community -
烧录
output/3322/fwpkg/diting-community.fwpkg,复位开发板后通过串口执行示例 README 中列出的 AT 指令。 -
修改代码后先验证单个场景,再执行一次完整固件构建,避免只编译到静态库却未链接进最终镜像。
Native 示例导航
| 分类 | 示例 | 能力与交互入口 |
|---|---|---|
| 外设 | ADC | 通道手动采样、自动扫描,AT 指令控制 |
| 外设 | GPIO | 输入、输出、方向与电平翻转 |
| 外设 | I2C | Master/Slave 收发任务 |
| 外设 | PWM | 初始化、占空比切换与资源释放 |
| 外设 | SPI | Master/Slave 双端收发 |
| 外设 | Timer | 软件定时任务与回调 |
| 外设 | UART | 波特率配置、串口收发 |
| 外设 | Watchdog | 看门狗初始化、喂狗与超时复位 |
| 外设 | DMA | 内存搬运、完成回调、缓存一致性和数据比对 |
| 外设 | RTC | 100 ms 单次定时回调和资源释放 |
| 外设 | Flash | 无损读取板载 NOR Flash ID 和容量 |
| 外设 | CAN | 控制器内部回环、过滤、收发和数据比对 |
| 外设 | Systick | 毫秒计数和时间增量验证 |
| 外设 | Systime | 系统时间读取和增量验证 |
| 外设 | TCXO | 高精度毫秒计数和增量验证 |
| 外设 | 板载驱动自测 | 聚合调用 DMA、RTC、三类时钟和 Flash 独立 Demo |
| 系统 | 自定义 AT 指令 | 无参数、设置、查询和测试四类 AT 指令 |
| 系统 | 低功耗 | 深睡投票、撤票和睡眠统计 |
| 系统 | NV 存储 | NV 写入、读回校验和容量查询 |
| 系统 | 文件系统 | VFS 目录创建、文件写入、重命名、读回校验和清理 |
| 连接 | BLE | 双板广播、扫描、配对、GATT 服务发现、读写和通知 |
| 连接 | BR/EDR | 双板设备发现、配对、SPP 连接和双向数传 |
| 连接 | 星闪 | 双板扫描、广播、配对、SSAP 读写和通知 |
| 升级 | FOTA | 升级区初始化、分片写入、升级请求和状态查询 |
| 安全 | 安全能力 | AES-GCM、Hash、PKE、密钥管理和 mbed TLS 标准向量 |
| 安全 | SELiteOS TEE Hello | REE 侧 CA 调用 TA 的完整链路 |
| AI/语音 | 语音云大模型 | 录音、云端语音服务与结果处理 |
JS 应用快速开始
- 先阅读 OpenHarmony JS 应用开发用户指南,完成 DevEco Studio、SDK 和签名配置。
- 在 DevEco Studio 中打开所选示例目录,检查
config.json中的包名、页面和权限。 - 构建 HAP;如示例依赖网络、蓝牙、定位或音频,再按项目 README 准备网络、权限和测试数据。
- 将 HAP 转换并部署到设备,观察 UI、串口日志和实际功能结果。
JS 应用导航
| 分类 | 示例 | 主要能力 |
|---|---|---|
| 入门与测试 | Hello World、ACTS Validator | 最小应用、兼容性验证 |
| UI 与交互 | 跑马灯、电子木鱼、地图界面、按键输入 | 页面布局、动画、按键与交互 |
| 网络 | HTTP、Socket、WebSocket、网络 DFX、天气 | 请求、长连接、网络诊断和综合应用 |
| 蓝牙与安全 | BLE、Cipher | BLE 通信,以及 AES、RSA、摘要、HMAC、Base64、ECC、安全随机数和密钥存储 |
| 媒体与 AI | 音乐播放、AI 手势识别 | 音频播放、手势识别与页面联动 |
| 工程与资源 | 应用压缩、辅助资源 | 应用体积优化和公共辅助文件 |
二次开发建议
- 优先复制与目标功能最接近的示例,修改组件名、包名或 AT 指令名,避免与原示例冲突。
- Native 示例新增源文件后,同步更新当前目录和上层
CMakeLists.txt,并确认目标组件进入最终链接表。 - JS 应用新增系统能力时,同步声明权限;网络、蓝牙、定位、文件和音频能力还需要满足各自的运行条件。
- README 中的命令、引脚、输入文件和预期日志应随代码一同更新,提交前至少完成一次干净构建。
目录结构
samples/
├── README.md
├── native_samples/ # Native C 示例、总导航和项目级 README
└── js_samples/ # OpenHarmony Lite JS 应用和辅助资源