10a7ce71fSopenharmony_ci# HiSpark WiFi-IoT 套件样例开发--等待(Delay)
20a7ce71fSopenharmony_ci
30a7ce71fSopenharmony_ci![hihope_illustration](https://gitee.com/hihopeorg/hispark-hm-pegasus/raw/master/docs/figures/hihope_illustration.png)
40a7ce71fSopenharmony_ci
50a7ce71fSopenharmony_ci[HiSpark WiFi-IoT开发套件](https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w5003-23341819265.1.bf644a82Da9PZK&id=622343426064&scene=taobao_shop) 首发于HDC 2020,是首批支持OpenHarmony 2.0的开发套件,亦是官方推荐套件,由润和软件HiHope量身打造,已在OpenHarmony社区和广大OpenHarmony开发者中得到广泛应用。
60a7ce71fSopenharmony_ci
70a7ce71fSopenharmony_ci![wifi_iot](https://gitee.com/hihopeorg/hispark-hm-pegasus/raw/master/docs/figures/2.png)
80a7ce71fSopenharmony_ci
90a7ce71fSopenharmony_ci## 一、Delay API
100a7ce71fSopenharmony_ci
110a7ce71fSopenharmony_ci| API名称      | 说明                 |
120a7ce71fSopenharmony_ci| ------------ | -------------------- |
130a7ce71fSopenharmony_ci| osDelay      | 等待指定的ticks      |
140a7ce71fSopenharmony_ci| osDelayUntil | 等待到指定的时钟周期 |
150a7ce71fSopenharmony_ci
160a7ce71fSopenharmony_ci## 二、代码分析
170a7ce71fSopenharmony_ci
180a7ce71fSopenharmony_ci使用`osDelay`让线程等待100个时钟周期,然后通过`osKernelGetTickCount`获取当前的时钟周期tick, 在此基础上增加100个时钟周期,之后调用`osDelayUntil`让线程等待tick + 100个时钟周期后恢复运行
190a7ce71fSopenharmony_ci
200a7ce71fSopenharmony_ci```c
210a7ce71fSopenharmony_civoid rtosv2_delay_main(void *arg) {
220a7ce71fSopenharmony_ci    (void)arg;
230a7ce71fSopenharmony_ci
240a7ce71fSopenharmony_ci    printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount());
250a7ce71fSopenharmony_ci    osStatus_t status = osDelay(100);
260a7ce71fSopenharmony_ci    printf("[Delay Test] osDelay, status: %d.\r\n", status);
270a7ce71fSopenharmony_ci    printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount());
280a7ce71fSopenharmony_ci
290a7ce71fSopenharmony_ci    uint32_t tick = osKernelGetTickCount();
300a7ce71fSopenharmony_ci    tick += 100;
310a7ce71fSopenharmony_ci    status = osDelayUntil(tick);
320a7ce71fSopenharmony_ci    printf("[Delay Test] osDelayUntil, status: %d.\r\n", status);
330a7ce71fSopenharmony_ci    printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount());
340a7ce71fSopenharmony_ci}
350a7ce71fSopenharmony_ci```
360a7ce71fSopenharmony_ci
370a7ce71fSopenharmony_ci
380a7ce71fSopenharmony_ci
390a7ce71fSopenharmony_ci## 三、如何编译
400a7ce71fSopenharmony_ci
410a7ce71fSopenharmony_ci1. 将此目录下的 `delay.c` 和 `BUILD.gn` 复制到openharmony源码的`applications\sample\wifi-iot\app\iothardware`目录下,
420a7ce71fSopenharmony_ci2. 修改openharmony源码的`applications\sample\wifi-iot\app\BUILD.gn`文件,将其中的 `features` 改为:
430a7ce71fSopenharmony_ci
440a7ce71fSopenharmony_ci```
450a7ce71fSopenharmony_ci    features = [
460a7ce71fSopenharmony_ci        "iothardware:delay_demo",
470a7ce71fSopenharmony_ci    ]
480a7ce71fSopenharmony_ci```
490a7ce71fSopenharmony_ci
500a7ce71fSopenharmony_ci3. 在openharmony源码顶层目录执行:`python build.py wifiiot`
510a7ce71fSopenharmony_ci
520a7ce71fSopenharmony_ci## 四、运行结果
530a7ce71fSopenharmony_ci
540a7ce71fSopenharmony_ci```
550a7ce71fSopenharmony_ci[Delay Test]  Current system tick: 248.
560a7ce71fSopenharmony_ci[Delay Test]  osDelay, status: 0.
570a7ce71fSopenharmony_ci[Delay Test]  Current system tick: 348.
580a7ce71fSopenharmony_ci[Delay Test]  osDelayUntil, status: 0.
590a7ce71fSopenharmony_ci[Delay Test]  Current system tick: 448.
600a7ce71fSopenharmony_ci```
610a7ce71fSopenharmony_ci
620a7ce71fSopenharmony_ci### 【套件支持】
630a7ce71fSopenharmony_ci
640a7ce71fSopenharmony_ci##### 1. 套件介绍  http://www.hihope.org/pro/pro1.aspx?mtt=8
650a7ce71fSopenharmony_ci
660a7ce71fSopenharmony_ci##### 2. 套件购买  https://item.taobao.com/item.htm?id=622343426064&scene=taobao_shop
670a7ce71fSopenharmony_ci
680a7ce71fSopenharmony_ci##### 3. 技术资料
690a7ce71fSopenharmony_ci
700a7ce71fSopenharmony_ci- Gitee码云网站(OpenHarmony Sample Code等) **https://gitee.com/hihopeorg**
710a7ce71fSopenharmony_ci
720a7ce71fSopenharmony_ci- HiHope官网-资源中心(SDK包、技术文档下载)[**www.hihope.org**](http://www.hihope.org/)
730a7ce71fSopenharmony_ci
740a7ce71fSopenharmony_ci##### 4. 互动交流
750a7ce71fSopenharmony_ci
760a7ce71fSopenharmony_ci- 润和HiHope技术交流-微信群(加群管理员微信13605188699,发送文字#申请加入润和官方群#,予以邀请入群)
770a7ce71fSopenharmony_ci- HiHope开发者社区-论坛 **https://bbs.elecfans.com/group_1429**
780a7ce71fSopenharmony_ci- 润和HiHope售后服务群(QQ:980599547)
790a7ce71fSopenharmony_ci- 售后服务电话(025-52668590)
800a7ce71fSopenharmony_ci
81