1# HiSpark WiFi-IoT 套件样例开发--等待(Delay) 2 3 4 5[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开发者中得到广泛应用。 6 7 8 9## 一、Delay API 10 11| API名称 | 说明 | 12| ------------ | -------------------- | 13| osDelay | 等待指定的ticks | 14| osDelayUntil | 等待到指定的时钟周期 | 15 16## 二、代码分析 17 18使用`osDelay`让线程等待100个时钟周期,然后通过`osKernelGetTickCount`获取当前的时钟周期tick, 在此基础上增加100个时钟周期,之后调用`osDelayUntil`让线程等待tick + 100个时钟周期后恢复运行 19 20```c 21void rtosv2_delay_main(void *arg) { 22 (void)arg; 23 24 printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount()); 25 osStatus_t status = osDelay(100); 26 printf("[Delay Test] osDelay, status: %d.\r\n", status); 27 printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount()); 28 29 uint32_t tick = osKernelGetTickCount(); 30 tick += 100; 31 status = osDelayUntil(tick); 32 printf("[Delay Test] osDelayUntil, status: %d.\r\n", status); 33 printf("[Delay Test] Current system tick: %d.\r\n", osKernelGetTickCount()); 34} 35``` 36 37 38 39## 三、如何编译 40 411. 将此目录下的 `delay.c` 和 `BUILD.gn` 复制到openharmony源码的`applications\sample\wifi-iot\app\iothardware`目录下, 422. 修改openharmony源码的`applications\sample\wifi-iot\app\BUILD.gn`文件,将其中的 `features` 改为: 43 44``` 45 features = [ 46 "iothardware:delay_demo", 47 ] 48``` 49 503. 在openharmony源码顶层目录执行:`python build.py wifiiot` 51 52## 四、运行结果 53 54``` 55[Delay Test] Current system tick: 248. 56[Delay Test] osDelay, status: 0. 57[Delay Test] Current system tick: 348. 58[Delay Test] osDelayUntil, status: 0. 59[Delay Test] Current system tick: 448. 60``` 61 62### 【套件支持】 63 64##### 1. 套件介绍 http://www.hihope.org/pro/pro1.aspx?mtt=8 65 66##### 2. 套件购买 https://item.taobao.com/item.htm?id=622343426064&scene=taobao_shop 67 68##### 3. 技术资料 69 70- Gitee码云网站(OpenHarmony Sample Code等) **https://gitee.com/hihopeorg** 71 72- HiHope官网-资源中心(SDK包、技术文档下载)[**www.hihope.org**](http://www.hihope.org/) 73 74##### 4. 互动交流 75 76- 润和HiHope技术交流-微信群(加群管理员微信13605188699,发送文字#申请加入润和官方群#,予以邀请入群) 77- HiHope开发者社区-论坛 **https://bbs.elecfans.com/group_1429** 78- 润和HiHope售后服务群(QQ:980599547) 79- 售后服务电话(025-52668590) 80 81