-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathexample01.html
More file actions
88 lines (82 loc) · 33.3 KB
/
Copy pathexample01.html
File metadata and controls
88 lines (82 loc) · 33.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>范例01(任务创建实验) | Huawei LiteOS | 中文网</title>
<meta name="description" content="轻量级物联网操作系统,物的智能化使能平台">
<link rel="icon" href="/favicon.ico">
<link rel="preload" href="/assets/css/0.styles.f1c36acb.css" as="style"><link rel="preload" href="/assets/js/app.33a5764c.js" as="script"><link rel="preload" href="/assets/js/132.ae62365d.js" as="script"><link rel="prefetch" href="/assets/js/2.20e64be0.js"><link rel="prefetch" href="/assets/js/3.c73c47b0.js"><link rel="prefetch" href="/assets/js/4.830424c3.js"><link rel="prefetch" href="/assets/js/5.f9800a44.js"><link rel="prefetch" href="/assets/js/6.6d4fb2db.js"><link rel="prefetch" href="/assets/js/7.e3f71e19.js"><link rel="prefetch" href="/assets/js/8.ed38826a.js"><link rel="prefetch" href="/assets/js/9.13aa0050.js"><link rel="prefetch" href="/assets/js/10.310cbd5c.js"><link rel="prefetch" href="/assets/js/11.1c27b65d.js"><link rel="prefetch" href="/assets/js/12.363ec7ed.js"><link rel="prefetch" href="/assets/js/13.c8ba8d27.js"><link rel="prefetch" href="/assets/js/14.52e6136d.js"><link rel="prefetch" href="/assets/js/15.5bc6a253.js"><link rel="prefetch" href="/assets/js/16.50d29923.js"><link rel="prefetch" href="/assets/js/17.e942ca60.js"><link rel="prefetch" href="/assets/js/18.63f827e2.js"><link rel="prefetch" href="/assets/js/19.561a06ce.js"><link rel="prefetch" href="/assets/js/20.822c89f7.js"><link rel="prefetch" href="/assets/js/21.1b737bb6.js"><link rel="prefetch" href="/assets/js/22.50784b81.js"><link rel="prefetch" href="/assets/js/23.6d3ce5bc.js"><link rel="prefetch" href="/assets/js/24.84d7b76d.js"><link rel="prefetch" href="/assets/js/25.9af98cef.js"><link rel="prefetch" href="/assets/js/26.09b076ce.js"><link rel="prefetch" href="/assets/js/27.14422ca1.js"><link rel="prefetch" href="/assets/js/28.76d0f557.js"><link rel="prefetch" href="/assets/js/29.3de41018.js"><link rel="prefetch" href="/assets/js/30.9d6b307c.js"><link rel="prefetch" href="/assets/js/31.fff19707.js"><link rel="prefetch" href="/assets/js/32.d779c224.js"><link rel="prefetch" href="/assets/js/33.e5eff646.js"><link rel="prefetch" href="/assets/js/34.c29c7bf0.js"><link rel="prefetch" href="/assets/js/35.3d453bad.js"><link rel="prefetch" href="/assets/js/36.d2a3f928.js"><link rel="prefetch" href="/assets/js/37.bab64800.js"><link rel="prefetch" href="/assets/js/38.80b00fd1.js"><link rel="prefetch" href="/assets/js/39.12b69bd3.js"><link rel="prefetch" href="/assets/js/40.8df75237.js"><link rel="prefetch" href="/assets/js/41.68b7a88d.js"><link rel="prefetch" href="/assets/js/42.9d73e1f4.js"><link rel="prefetch" href="/assets/js/43.accc44c7.js"><link rel="prefetch" href="/assets/js/44.f9c729f0.js"><link rel="prefetch" href="/assets/js/45.675d9159.js"><link rel="prefetch" href="/assets/js/46.f14efcb4.js"><link rel="prefetch" href="/assets/js/47.2a4e96c0.js"><link rel="prefetch" href="/assets/js/48.d9ed0168.js"><link rel="prefetch" href="/assets/js/49.3de65caf.js"><link rel="prefetch" href="/assets/js/50.c29ff2f9.js"><link rel="prefetch" href="/assets/js/51.e9ffed00.js"><link rel="prefetch" href="/assets/js/52.0e33188d.js"><link rel="prefetch" href="/assets/js/53.6748ca27.js"><link rel="prefetch" href="/assets/js/54.000288f1.js"><link rel="prefetch" href="/assets/js/55.8e86f10b.js"><link rel="prefetch" href="/assets/js/56.974a5063.js"><link rel="prefetch" href="/assets/js/57.8addd7b0.js"><link rel="prefetch" href="/assets/js/58.6a7d69e5.js"><link rel="prefetch" href="/assets/js/59.f920c55c.js"><link rel="prefetch" href="/assets/js/60.3e855454.js"><link rel="prefetch" href="/assets/js/61.2c67da1a.js"><link rel="prefetch" href="/assets/js/62.70c63f5c.js"><link rel="prefetch" href="/assets/js/63.f08b7541.js"><link rel="prefetch" href="/assets/js/64.4a6eb56d.js"><link rel="prefetch" href="/assets/js/65.9a9d6083.js"><link rel="prefetch" href="/assets/js/66.b4e5888f.js"><link rel="prefetch" href="/assets/js/67.cf26ea6b.js"><link rel="prefetch" href="/assets/js/68.8c8e5f15.js"><link rel="prefetch" href="/assets/js/69.ca89d6a5.js"><link rel="prefetch" href="/assets/js/70.3156a0a1.js"><link rel="prefetch" href="/assets/js/71.4ce9c97a.js"><link rel="prefetch" href="/assets/js/72.15d9939d.js"><link rel="prefetch" href="/assets/js/73.abd6ee41.js"><link rel="prefetch" href="/assets/js/74.137cf10c.js"><link rel="prefetch" href="/assets/js/75.f4fe6791.js"><link rel="prefetch" href="/assets/js/76.c805d732.js"><link rel="prefetch" href="/assets/js/77.d090efc7.js"><link rel="prefetch" href="/assets/js/78.05b90bf2.js"><link rel="prefetch" href="/assets/js/79.30077ffe.js"><link rel="prefetch" href="/assets/js/80.2e75f2d9.js"><link rel="prefetch" href="/assets/js/81.0155e2da.js"><link rel="prefetch" href="/assets/js/82.9a88acc0.js"><link rel="prefetch" href="/assets/js/83.0c1ca7e6.js"><link rel="prefetch" href="/assets/js/84.a735b6ee.js"><link rel="prefetch" href="/assets/js/85.7d237602.js"><link rel="prefetch" href="/assets/js/86.3cee3381.js"><link rel="prefetch" href="/assets/js/87.dd42373a.js"><link rel="prefetch" href="/assets/js/88.a5346047.js"><link rel="prefetch" href="/assets/js/89.ebd48bf9.js"><link rel="prefetch" href="/assets/js/90.03c0566d.js"><link rel="prefetch" href="/assets/js/91.4ea972ff.js"><link rel="prefetch" href="/assets/js/92.b9a4136c.js"><link rel="prefetch" href="/assets/js/93.0e8aa733.js"><link rel="prefetch" href="/assets/js/94.28883f14.js"><link rel="prefetch" href="/assets/js/95.8fa3c806.js"><link rel="prefetch" href="/assets/js/96.7a7d94af.js"><link rel="prefetch" href="/assets/js/97.482f7a92.js"><link rel="prefetch" href="/assets/js/98.7a77028b.js"><link rel="prefetch" href="/assets/js/99.9b8e08b3.js"><link rel="prefetch" href="/assets/js/100.b147d04f.js"><link rel="prefetch" href="/assets/js/101.cf4e724d.js"><link rel="prefetch" href="/assets/js/102.a31d0525.js"><link rel="prefetch" href="/assets/js/103.0d5bf65f.js"><link rel="prefetch" href="/assets/js/104.b6c77f30.js"><link rel="prefetch" href="/assets/js/105.81dd17e2.js"><link rel="prefetch" href="/assets/js/106.eb6d021a.js"><link rel="prefetch" href="/assets/js/107.849885a5.js"><link rel="prefetch" href="/assets/js/108.3fab7544.js"><link rel="prefetch" href="/assets/js/109.758e1008.js"><link rel="prefetch" href="/assets/js/110.98027808.js"><link rel="prefetch" href="/assets/js/111.faf1c6ce.js"><link rel="prefetch" href="/assets/js/112.4d566467.js"><link rel="prefetch" href="/assets/js/113.459d70fe.js"><link rel="prefetch" href="/assets/js/114.999f3f82.js"><link rel="prefetch" href="/assets/js/115.113c2659.js"><link rel="prefetch" href="/assets/js/116.8bdb9b2a.js"><link rel="prefetch" href="/assets/js/117.fa5ebe43.js"><link rel="prefetch" href="/assets/js/118.6b688361.js"><link rel="prefetch" href="/assets/js/119.51412ca6.js"><link rel="prefetch" href="/assets/js/120.faf7400d.js"><link rel="prefetch" href="/assets/js/121.f122eea3.js"><link rel="prefetch" href="/assets/js/122.8937d7a9.js"><link rel="prefetch" href="/assets/js/123.dfb67b87.js"><link rel="prefetch" href="/assets/js/124.100f9597.js"><link rel="prefetch" href="/assets/js/125.b8855529.js"><link rel="prefetch" href="/assets/js/126.77806c08.js"><link rel="prefetch" href="/assets/js/127.5c8795bd.js"><link rel="prefetch" href="/assets/js/128.a279b147.js"><link rel="prefetch" href="/assets/js/129.31709c6f.js"><link rel="prefetch" href="/assets/js/130.4debfe3e.js"><link rel="prefetch" href="/assets/js/131.c70f2dcc.js"><link rel="prefetch" href="/assets/js/133.d5aeef62.js"><link rel="prefetch" href="/assets/js/134.435a8b0d.js"><link rel="prefetch" href="/assets/js/135.4453e747.js"><link rel="prefetch" href="/assets/js/136.bff65f24.js"><link rel="prefetch" href="/assets/js/137.b917384e.js"><link rel="prefetch" href="/assets/js/138.269564e3.js"><link rel="prefetch" href="/assets/js/139.fcbad941.js"><link rel="prefetch" href="/assets/js/140.b7f0fb71.js"><link rel="prefetch" href="/assets/js/141.5a641bf8.js"><link rel="prefetch" href="/assets/js/142.ddfa8646.js"><link rel="prefetch" href="/assets/js/143.90692d4f.js"><link rel="prefetch" href="/assets/js/144.c8deac22.js"><link rel="prefetch" href="/assets/js/145.41f82b8e.js"><link rel="prefetch" href="/assets/js/146.b5cd71e3.js"><link rel="prefetch" href="/assets/js/147.f448da67.js"><link rel="prefetch" href="/assets/js/148.c6c05147.js"><link rel="prefetch" href="/assets/js/149.81667c5c.js"><link rel="prefetch" href="/assets/js/150.a446fa72.js"><link rel="prefetch" href="/assets/js/151.40c60d2e.js"><link rel="prefetch" href="/assets/js/152.34f5ee11.js"><link rel="prefetch" href="/assets/js/153.5f4fa74c.js"><link rel="prefetch" href="/assets/js/154.3f0b71da.js"><link rel="prefetch" href="/assets/js/155.5e3690e2.js"><link rel="prefetch" href="/assets/js/156.77e09f25.js"><link rel="prefetch" href="/assets/js/157.dc328abe.js"><link rel="prefetch" href="/assets/js/158.8ef504f4.js"><link rel="prefetch" href="/assets/js/159.3fdd263e.js"><link rel="prefetch" href="/assets/js/160.37baabe7.js"><link rel="prefetch" href="/assets/js/161.687575c2.js"><link rel="prefetch" href="/assets/js/162.0134b72b.js"><link rel="prefetch" href="/assets/js/vendors~docsearch.32b4aeae.js">
<link rel="stylesheet" href="/assets/css/0.styles.f1c36acb.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/" class="home-link router-link-active"><!----> <span class="site-name">Huawei LiteOS | 中文网</span></a> <div class="links" style="max-width:nullpx;"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">学习</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>入门</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/quick-start/intro/" class="nav-link">快速上手</a></li><li class="dropdown-subitem"><a href="/quick-start/contrb/" class="nav-link">参与贡献</a></li></ul></li><li class="dropdown-item"><h4>进阶</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/kernel/" class="nav-link">内核指南</a></li><li class="dropdown-subitem"><a href="/sdk/" class="nav-link">SDK 指南</a></li></ul></li><li class="dropdown-item"><h4>高级</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/porting/" class="nav-link">移植手册</a></li><li class="dropdown-subitem"><a href="http://liteos.github.io/api-reference/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API 参考
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">实战</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>LiteOS 动手实验室</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/tutorials/kernel/" class="nav-link router-link-active">玩转 LiteOS 内核教程</a></li><li class="dropdown-subitem"><a href="/tutorials/scene/" class="nav-link">LiteOS@NB-IoT 场景化样例集</a></li></ul></li><li class="dropdown-item"><h4>LiteOS 实战训练营材料</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/workshop/hangzhou/" class="nav-link">Workshop-杭州站</a></li></ul></li><li class="dropdown-item"><h4>在线精品课程</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="https://developer.huawei.com/ict/cn/edu-online/site-iot-nb-01" target="_blank" rel="noopener noreferrer" class="nav-link external">
朱老师物联网大讲堂 NB-IoT 系列课程
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-subitem"><a href="https://developer.huawei.com/ict/cn/edu-online/site-iot-nb-002" target="_blank" rel="noopener noreferrer" class="nav-link external">
物联网俱乐部 NB-IoT 系列课程
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><a href="https://developer.huawei.com/ict/forum/forum.php?mod=forumdisplay&fid=400045" target="_blank" rel="noopener noreferrer" class="nav-link external">
论坛
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="/changelog.html" class="nav-link">修订记录</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">切换语言</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/tutorials/kernel/example01.html" class="nav-link router-link-exact-active router-link-active">简体中文</a></li><li class="dropdown-item"><!----> <a href="/en/" class="nav-link">English</a></li></ul></div></div> <a href="https://github.com/LiteOS/LiteOS_Documents" target="_blank" rel="noopener noreferrer" class="repo-link">
Github
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav></div></header> <div class="sidebar-mask"></div> <div class="sidebar"><nav class="nav-links"><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">学习</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>入门</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/quick-start/intro/" class="nav-link">快速上手</a></li><li class="dropdown-subitem"><a href="/quick-start/contrb/" class="nav-link">参与贡献</a></li></ul></li><li class="dropdown-item"><h4>进阶</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/kernel/" class="nav-link">内核指南</a></li><li class="dropdown-subitem"><a href="/sdk/" class="nav-link">SDK 指南</a></li></ul></li><li class="dropdown-item"><h4>高级</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/porting/" class="nav-link">移植手册</a></li><li class="dropdown-subitem"><a href="http://liteos.github.io/api-reference/" target="_blank" rel="noopener noreferrer" class="nav-link external">
API 参考
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">实战</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><h4>LiteOS 动手实验室</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/tutorials/kernel/" class="nav-link router-link-active">玩转 LiteOS 内核教程</a></li><li class="dropdown-subitem"><a href="/tutorials/scene/" class="nav-link">LiteOS@NB-IoT 场景化样例集</a></li></ul></li><li class="dropdown-item"><h4>LiteOS 实战训练营材料</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/workshop/hangzhou/" class="nav-link">Workshop-杭州站</a></li></ul></li><li class="dropdown-item"><h4>在线精品课程</h4> <ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="https://developer.huawei.com/ict/cn/edu-online/site-iot-nb-01" target="_blank" rel="noopener noreferrer" class="nav-link external">
朱老师物联网大讲堂 NB-IoT 系列课程
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li><li class="dropdown-subitem"><a href="https://developer.huawei.com/ict/cn/edu-online/site-iot-nb-002" target="_blank" rel="noopener noreferrer" class="nav-link external">
物联网俱乐部 NB-IoT 系列课程
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></li></ul></li></ul></div></div><div class="nav-item"><a href="https://developer.huawei.com/ict/forum/forum.php?mod=forumdisplay&fid=400045" target="_blank" rel="noopener noreferrer" class="nav-link external">
论坛
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></div><div class="nav-item"><a href="/changelog.html" class="nav-link">修订记录</a></div><div class="nav-item"><div class="dropdown-wrapper"><a class="dropdown-title"><span class="title">切换语言</span> <span class="arrow right"></span></a> <ul class="nav-dropdown" style="display:none;"><li class="dropdown-item"><!----> <a href="/tutorials/kernel/example01.html" class="nav-link router-link-exact-active router-link-active">简体中文</a></li><li class="dropdown-item"><!----> <a href="/en/" class="nav-link">English</a></li></ul></div></div> <a href="https://github.com/LiteOS/LiteOS_Documents" target="_blank" rel="noopener noreferrer" class="repo-link">
Github
<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></a></nav> <ul class="sidebar-links"><li><div class="sidebar-group first"><p class="sidebar-heading open"><span>LiteOS 内核使用指南</span> <!----></p> <ul class="sidebar-group-items"><li><a href="/tutorials/kernel/example01.html" class="active sidebar-link">范例01(任务创建实验)</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/tutorials/kernel/example01.html#功能说明" class="sidebar-link">功能说明</a></li><li class="sidebar-sub-header"><a href="/tutorials/kernel/example01.html#代码讲解" class="sidebar-link">代码讲解</a></li><li class="sidebar-sub-header"><a href="/tutorials/kernel/example01.html#效果演示" class="sidebar-link">效果演示</a></li></ul></li><li><a href="/tutorials/kernel/example02.html" class="sidebar-link">范例02(任务参数实验)</a></li><li><a href="/tutorials/kernel/example03.html" class="sidebar-link">范例03(优先级抢占实验)</a></li><li><a href="/tutorials/kernel/example04.html" class="sidebar-link">范例04(任务延时实验)</a></li><li><a href="/tutorials/kernel/example05.html" class="sidebar-link">范例05(高优先级任务打断实验)</a></li><li><a href="/tutorials/kernel/example06.html" class="sidebar-link">范例06(优先级动态调整实验)</a></li><li><a href="/tutorials/kernel/example07.html" class="sidebar-link">范例07(任务中创建和删除实验)</a></li><li><a href="/tutorials/kernel/example08.html" class="sidebar-link">范例08(队列写入简单数据实验)</a></li><li><a href="/tutorials/kernel/example09.html" class="sidebar-link">范例09(队列写入复杂类型实验)</a></li><li><a href="/tutorials/kernel/example10.html" class="sidebar-link">范例10(定时器基本应用实验)</a></li><li><a href="/tutorials/kernel/example11.html" class="sidebar-link">范例11(定时器综合应用实验)</a></li><li><a href="/tutorials/kernel/example12.html" class="sidebar-link">范例12(信号量同步功能实验)</a></li><li><a href="/tutorials/kernel/example13.html" class="sidebar-link">范例13(信号量互斥功能实验)</a></li><li><a href="/tutorials/kernel/example14.html" class="sidebar-link">范例14(互斥锁打印任务实验)</a></li><li><a href="/tutorials/kernel/example15.html" class="sidebar-link">范例15(队列,任务,定时器综合实验)</a></li></ul></div></li></ul> </div> <div class="page"> <div class="content"><h1 id="范例01(任务创建实验)"><a href="#范例01(任务创建实验)" aria-hidden="true" class="header-anchor">#</a> 范例01(任务创建实验)</h1> <p>RTOS 与前后台进程方案最大的差别就是对多任务的管理,OS 会对多个同等优先级任务平均分配 CPU 时间片。从而达到每个任务在单个 CPU 上实现并行处理的效果。不会因为某个任务长期占用 CPU,而卡住其他任务运行。</p> <h2 id="功能说明"><a href="#功能说明" aria-hidden="true" class="header-anchor">#</a> 功能说明</h2> <p>主线程创建两个Task,优先级相同的情况下,Task1和Task2会轮询</p> <div class="tip custom-block"><p class="custom-block-title">提示</p> <p>这里没有使用 LiteOS 内置的时延函数,而是利用 for 循环,是因为 for 循环不会主导进行任务间切换。</p></div> <h2 id="代码讲解"><a href="#代码讲解" aria-hidden="true" class="header-anchor">#</a> 代码讲解</h2> <h3 id="_1-使用-los-taskcreate-创建两个任务,任务优先级同为-4;"><a href="#_1-使用-los-taskcreate-创建两个任务,任务优先级同为-4;" aria-hidden="true" class="header-anchor">#</a> 1. 使用 <code>LOS_TaskCreate</code> 创建两个任务,任务优先级同为 4;</h3> <div class="language-c extra-class"><pre class="language-c"><code>UINT32 <span class="token function">Example01_Entry</span><span class="token punctuation">(</span>VOID<span class="token punctuation">)</span> <span class="token punctuation">{</span>
UINT32 uwRet <span class="token operator">=</span> LOS_OK<span class="token punctuation">;</span>
TSK_INIT_PARAM_S stInitParam <span class="token operator">=</span> <span class="token punctuation">{</span><span class="token number">0</span><span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Example01_Entry\r\n"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
stInitParam<span class="token punctuation">.</span>pfnTaskEntry <span class="token operator">=</span> Example_Task1<span class="token punctuation">;</span>
stInitParam<span class="token punctuation">.</span>usTaskPrio <span class="token operator">=</span> TASK_DEFAULT_PRIO<span class="token punctuation">;</span>
stInitParam<span class="token punctuation">.</span>pcName <span class="token operator">=</span> <span class="token string">"Task1"</span><span class="token punctuation">;</span>
stInitParam<span class="token punctuation">.</span>uwStackSize <span class="token operator">=</span> TASK_STK_SIZE<span class="token punctuation">;</span>
uwRet <span class="token operator">=</span> <span class="token function">LOS_TaskCreate</span><span class="token punctuation">(</span><span class="token operator">&</span>s_uwTskID1<span class="token punctuation">,</span> <span class="token operator">&</span>stInitParam<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>uwRet <span class="token operator">!=</span> LOS_OK<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Example_Task1 create Failed!\r\n"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> LOS_NOK<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
stInitParam<span class="token punctuation">.</span>pfnTaskEntry <span class="token operator">=</span> Example_Task2<span class="token punctuation">;</span>
stInitParam<span class="token punctuation">.</span>pcName <span class="token operator">=</span> <span class="token string">"Task2"</span><span class="token punctuation">;</span>
uwRet <span class="token operator">=</span> <span class="token function">LOS_TaskCreate</span><span class="token punctuation">(</span><span class="token operator">&</span>s_uwTskID2<span class="token punctuation">,</span> <span class="token operator">&</span>stInitParam<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">if</span> <span class="token punctuation">(</span>uwRet <span class="token operator">!=</span> LOS_OK<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">printf</span><span class="token punctuation">(</span><span class="token string">"Example_Task2 create Failed!\r\n"</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">return</span> LOS_NOK<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span> uwRet<span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</code></pre></div><h3 id="_2-task1-和-task2-周期性打印字符串"><a href="#_2-task1-和-task2-周期性打印字符串" aria-hidden="true" class="header-anchor">#</a> 2. <code>Task1</code> 和 <code>Task2</code> 周期性打印字符串</h3> <div class="language-c extra-class"><pre class="language-c"><code><span class="token keyword">static</span> VOID <span class="token operator">*</span> <span class="token function">Example_Task1</span><span class="token punctuation">(</span>UINT32 uwArg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> CHAR <span class="token operator">*</span>pcTaskName <span class="token operator">=</span> <span class="token string">"Task 1 is running\r\n"</span><span class="token punctuation">;</span>
UINT32 i<span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token punctuation">;</span><span class="token punctuation">;</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">puts</span><span class="token punctuation">(</span>pcTaskName<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> TASK_LOOP_COUNT<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// 占用CPU耗时运行</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">static</span> VOID <span class="token operator">*</span> <span class="token function">Example_Task2</span><span class="token punctuation">(</span>UINT32 uwArg<span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">const</span> CHAR <span class="token operator">*</span>pcTaskName <span class="token operator">=</span> <span class="token string">"Task 2 is running\r\n"</span><span class="token punctuation">;</span>
UINT32 i<span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token punctuation">;</span><span class="token punctuation">;</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token function">puts</span><span class="token punctuation">(</span>pcTaskName<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">for</span> <span class="token punctuation">(</span>i <span class="token operator">=</span> <span class="token number">0</span><span class="token punctuation">;</span> i <span class="token operator"><</span> TASK_LOOP_COUNT<span class="token punctuation">;</span> i<span class="token operator">++</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token comment">// 占用CPU耗时运行</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre></div><h2 id="效果演示"><a href="#效果演示" aria-hidden="true" class="header-anchor">#</a> 效果演示</h2> <p><img src="/assets/img/result01.da52d77b.png" alt></p></div> <div class="page-edit"><div class="edit-link"><a href="https://github.com/LiteOS/LiteOS_Documents/edit/master/docs/tutorials/kernel/example01.md" target="_blank" rel="noopener noreferrer">在 GitHub 上编辑此页</a> <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg></div> <div class="last-updated"><span class="prefix">上次更新: </span> <span class="time">2018-8-28 19:39:11</span></div></div> <div class="page-nav"><p class="inner"><!----> <span class="next"><a href="/tutorials/kernel/example02.html">
范例02(任务参数实验)
</a>
→
</span></p></div> </div> <!----></div></div>
<script src="/assets/js/132.ae62365d.js" defer></script><script src="/assets/js/app.33a5764c.js" defer></script>
</body>
</html>