下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
开发示例——创建两个任务新建名为taskmanagement的文件夹,然后在taskmanagement文件夹下新建taskmanagement.c和BUILD.gn两个文件。1.编写taskmanagement.c代码如下:#include<stdio.h>#include<unistd.h>#include"ohos_init.h"#include"cmsis_os2.h"#defineDELAY_1S
1000*1000#defineDELAY_2S2*1000*1000/**定义两个任务的renwuId的变量**/osThreadId_thhm_id,hw_id;staticvoid*HelloWorldTask(constchar*arg){
(void)arg;
uint8_ti=0;
chartask_name[50]={0};
constchar*task_name_p=task_name;
/**延时1S**/
usleep(DELAY_1S);
/**获取当前任务的任务ID**/
hw_id=osThreadGetId();
/**获取当前任务的任务名称**/
task_name_p=osThreadGetName(hw_id);
printf("\r\nHelloWorldTaskTskaID:%d\n",hw_id);
printf("HelloWorldTaskTskaName:%s\n",task_name_p);
while(1){
i++;
if(i==10){
/**挂起指定的任务**/
osThreadSuspend(hhm_id);
}
if(i==15){
/**恢复指定的任务**/
osThreadResume(hhm_id);
}
if(i==20){
/**终止指定的任务**/
osThreadTerminate(hhm_id);
i=0;
}
usleep(DELAY_1S);
printf("HelloWorld!\n");
}
returnNULL;}staticvoidHelloWorldTaskEntry(void)
{
/**任务属性的结构体**/
osThreadAttr_tattr;
="HelloWorldTask";
//任务名称
attr.attr_bits=0U;
//任务的属性位
attr.cb_mem=NULL;
//任务控制块的内存初始地址,默认为系统自动分配
attr.cb_size=0U;
//任务控制块的内存大小
attr.stack_mem=NULL;
//任务的内存初始地址,默认为系统自动分配
attr.stack_size=4096;
//任务的内存大小
attr.priority=12;
//任务的优先级,数字越大优先级越高
/**创建任务**/
if(osThreadNew((osThreadFunc_t)HelloWorldTask,NULL,&attr)==NULL){
printf("[HelloWorldTaskEntry]FaliedtocreateHelloWorldTask!\n");
}}staticvoid*HelloHMTask(constchar*arg){
(void)arg;
charHHMTask_name[50]={0};
constchar*task_name_p=HHMTask_name;
/**延时1S**/
usleep(DELAY_1S);
/**获取当前任务的任务ID**/
hhm_id=osThreadGetId();
/**获取当前任务的任务名称**/
task_name_p=osThreadGetName(hhm_id);
printf("HelloHMTaskTskaID:%d\n",hhm_id);
printf("HelloHMTaskTskaName:%s\n",task_name_p);
while(1){
usleep(DELAY_2S);
printf("HelloHarmony!\n");
}
returnNULL;}staticvoidHelloHMTaskEntry(void){
/**任务属性的结构体**/
osThreadAttr_tattr;
="HelloHMTask";
//任务名称
attr.attr_bits=0U;
//任务的属性位
attr.cb_mem=NULL;
//任务控制块的内存初始地址,默认为系统自动分配
attr.cb_size=0U;
//任务控制块的内存大小
attr.stack_mem=NULL;
//任务的内存初始地址,默认为系统自动分配
attr.stack_size=4096;
//任务的内存大小
attr.priority=11;
//任务的优先级,数字越大优先级越高
/**创建任务**/
if(osThreadNew((osThreadFunc_t)HelloHMTask,NULL,&attr)==NULL){
printf("[HelloHMTaskEntry]FaliedtocreateHelloHMTask!\n");
}}/**让系统运行指定的函数**/SYS_RUN(HelloHMTaskEntry);SYS_RUN(HelloWorldTaskEntry);2.编写build.gn代码如下:static_library("taskmanagement"){sources=["taskmanagement.c"]include_dirs=["//utils/native/lite/include","//kernel/liteos_m/kal/cmsis",
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目十六 产后期疾病
- 青岛科技大学化工原理试验期末复习题
- 《美国创伤外科协会胰腺器官损伤分级量表:2024年修订版》解读
- 临终关怀心理支持护理查房
- 道路交通事故应急处置规范
- 外伤骨折康复
- 护理误吸预防查房
- 脑卒中宣教目的-1
- 湖南省G30联盟2027届高三上学期第一次考试生物试题(文字版含答案)
- 柴油批发项目可行性研究报告
- 褐藻门知识介绍
- 学校5#楼绿色建筑室内污染物浓度预评估分析报告
- 环境、职业健康安全管理体系审核要点
- 三体系内审员试卷与答案
- YY/T 1813-2022医用电气设备使用可靠性信息收集与评估方法
- 第1章糖的化学
- GB/T 11-2013沉头带榫螺栓
- 《病毒学》(研究生)全册配套完整课件
- 药物作用新靶点与药
- 初中数学北师大八年级上册勾股定理-勾股定理中的折叠问题PPT
- 高级计量经济学1课件
评论
0/150
提交评论