⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 taskprioritydemo.c

📁 2410/vxworks/tornado下的基本实验包括 serial,ramdrv,interrupt,multi-tasking,FTP,TCP,UDP
💻 C
字号:
/* taskPriorityDemo.c.c - 创建两个优先级不同的任务,用WindView观察任务调度
  */   #include "vxWorks.h" #include "taskLib.h" #include "semLib.h" #include "stdio.h" #include "sysLib.h"  #define  TASK_PRI_HIGH                120     /* 高优先级 */
 #define  TASK_PRI_LOW                 130    /* 低优先级 */

 #define  TASK_STACK_SIZE          5000   /* 任务栈 */
 #define LOOP_TIMES					1000000/*循环的次数*/
 
 LOCAL STATUS taskHigh ();
 LOCAL STATUS taskLowA ();
  LOCAL STATUS taskLowB ();

 /*****************************************************************************  *  taskPriorityDemo - 主函数
  *  描述  *  创建三个任务, tHighPriority 优先级较高,tLowPriorityA和tLowPriorityB优先级相同
  *  三个任务都是执行LOOP_TIMES次循环后退出
  *  *  返回值:  *  OK   *  ERROR  *  *  example
  *
  * -> sp taskPriorityDemo
  *
  */  STATUS taskPriorityDemo ()
     { 
     /* 创建 tHighPriority*/
     if (taskSpawn ("tHighPriority", TASK_PRI_HIGH, 0, TASK_STACK_SIZE, (FUNCPTR) taskHigh, 0,
                     0, 0, 0, 0, 0, 0, 0, 0, 0) == ERROR)         {         perror ("taskPriorityDemo: Error in spawning tHighPriority\n");
         return (ERROR);         } 	  else
 	  	{
         printf("taskPriorityDemo:spawning tHighPriority OK\n");
 	  		
 	  	}
     /* 创建 tLowPriorityA*/
     if (taskSpawn ("tLowPriorityA", TASK_PRI_LOW, 0, TASK_STACK_SIZE, (FUNCPTR) taskLowA, 0,
                    0, 0, 0, 0, 0, 0, 0, 0, 0) == ERROR)         {         perror ("taskPriorityDemo: Error in spawning tLowPriority\n");
         return (ERROR);         } 	  else
 	  	{
         printf("taskPriorityDemo:spawning tLowPriorityA OK\n");
 	  		
 	  	}
     /* 创建 tLowPriorityB*/
     if (taskSpawn ("tLowPriorityB", TASK_PRI_LOW, 0, TASK_STACK_SIZE, (FUNCPTR) taskLowB, 0,
                    0, 0, 0, 0, 0, 0, 0, 0, 0) == ERROR)         {         perror ("taskPriorityDemo: Error in spawning tLowPriority\n");
         return (ERROR);         } 	  else
 	  	{
         printf("taskPriorityDemo:spawning tLowPriorityB OK\n");
 	  		
 	  	}
          
     return (OK);     }  /*****************************************************************************  *  taskHigh - 高优先级任务
  *  *  返回值: OK or ERROR  *  */  LOCAL STATUS taskHigh ()
     {
     	
     	  int i;
		  for(i=0; i<LOOP_TIMES; i++)
		  	{
		  		NULL;
		  	}	

         return (OK);
     }   /*****************************************************************************  *  taskLow - 低优先级任务A
  *  *  返回值: OK or ERROR  *  */ LOCAL STATUS taskLowA()
     {     	
     	  int i;
		  for(i=0; i<LOOP_TIMES; i++)
		  	{
		  		NULL;
		  	}	
		
         return (OK);
     }  /*****************************************************************************  *  taskLow - 低优先级任务B
  *  *  返回值: OK or ERROR  *  */ LOCAL STATUS taskLowB()
     {     	
     	  int i;
		  for(i=0; i<LOOP_TIMES; i++)
		  	{
		  		NULL;
		  	}	
		
         return (OK);
     } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -