`
xitonga
  • 浏览: 587547 次
文章分类
社区版块
存档分类
最新评论

任务挂起和恢复

 
阅读更多

2、任务挂起和恢复

(1)OSTaskSuspend流程图

(2)OSTaskResume流程图

(3)测试

/* App1Task */

void App1Task(void *p_arg)

{

p_arg = p_arg;

while(1)

{

printf("Hello,I amTask1!\n");

OSTimeDlyHMSM(0, 0, 1, 0);/* 任务调度*/

}

/* App2Task */

void App2Task(void *p_arg)

{

p_arg = p_arg;

while(1)

{

printf("Task2 isrunning!\n");

if(task2_time == 2)

{

OSTaskSuspend(App1Task_Prio); /* Task2运行2次挂起Task1任务,会进行任务调度*/

}

else if(task2_time== 10)

{

OSTaskResume(App1Task_Prio); /* Task2运行10次后恢复Task1任务运行,会进行任务调度*/

}

task2_time++;/* 计数值加*/

OSTimeDlyHMSM(0, 0, 2, 0);/* 任务调度*/

}

运行结果

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics