原创 keil中RTXtiny的学习(1)

2007-11-7 16:27 2680 0 分类: MCU/ 嵌入式

     在Kei51中有个rtx的OS,学习的主要目的是应用在C8051F系列的芯片中,


/******************************************************************************/
/*                                                                            */
/*                   RTX_EX1.C:  The first RTX-51 Program                     */
/*                                                                            */
/******************************************************************************/


#include                  /* RTX-51 tiny functions & defines      */


long counter0;                        /* counter for task 0                   */
long counter1;                        /* counter for task 1                   */
long counter2;                        /* counter for task 2                   */


/******************************************************************************/
/*       Task 0 'job0':  RTX-51 tiny starts execution with task 0             */
/******************************************************************************/
job0 () _task_ 0  {                 
  os_create_task (1);                 /* start task 1                         */
  os_create_task (2);                 /* start task 2                         */


  while (1)  {                        /* endless loop                         */
    counter0++;                       /* increment counter 0                  */
  }
}


/******************************************************************************/
/*    Task 1 'job1':  RTX-51 tiny starts this task with os_create_task (1)    */
/******************************************************************************/
job1 () _task_ 1  {
  while (1)  {                        /* endless loop                         */
    counter1++;                       /* increment counter 1                  */
  }
}


/******************************************************************************/
/*    Task 2 'job2':  RTX-51 tiny starts this task with os_create_task (2)    */
/******************************************************************************/
job2 () _task_ 2  {
  while (1)  {                        /* endless loop                         */
    counter2++;                       /* increment counter 2                  */
  }
}


 


这个教程是分成3个TASK,每个TASK可以单独计数,在Conf_tny.A51中有时间片的定义.


INT_CLOCK EQU 10000 ; default is 10000 cycles   


这个定义时间片为10ms给每个任务.



 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /2 下一条