README.md
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