📄 testostaskresume.c
字号:
#include "taskTest.h"
static unsigned32 task_id1,task_id2;
static void entry5(
void* argument
)
{
printf("in task1:suspend itself,so the task2 can run\n");
OSTaskSuspend(task_id1);
printf("in task1:task1 run again,test success!\n");
OSTaskDelete(task_id1);
OSTaskDelete(task_id2);
}
static void entry6(
void* argument
)
{
printf("in task2:resume task1,so the task1 run again.\n");
OSTaskResume(task_id1);
while(1)
OSTaskDelay(1);
}
int testOSTaskResume()
{
OS_STATUS status;
printf("*** test of OSTaskResume ***\n");
printf("create 2 tasks,the pri of task1 is higher than task2.\n");
status = OSTaskCreate("tsk1",101,STACK_MINIMUM_SIZE,OS_TIMESLICE|OS_PREEMPT,OS_DEFAULT,&task_id1);
if(status != OS_OK)
{
printf("OSTaskCreate error:[%s]\n",serrno(errno));
return (-1);
}
status = OSTaskCreate("tsk2",102,STACK_MINIMUM_SIZE,OS_TIMESLICE|OS_PREEMPT,OS_DEFAULT,&task_id2);
if(status != OS_OK)
{
printf("OSTaskCreate error:[%s]\n",serrno(errno));
return (-1);
}
printf("start the two tasks.\n");
status = OSTaskStart( task_id1, entry5, 0 );
if(status != OS_OK)
{
printf("OSTaskStart error:[%s]\n",serrno(errno));
return (-1);
}
status = OSTaskStart( task_id2, entry6, 0 );
if(status != OS_OK)
{
printf("OSTaskStart error:[%s]\n",serrno(errno));
return (-1);
}
OSTaskDelay(1000);
printf("*** OSTaskResume test OK! ***\n");
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -