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

📄 rtx_ex2.c

📁 keilc pic的版本 才搞到的 希望对大家有帮助
💻 C
字号:
/******************************************************************************/
/*                                                                            */
/*                     RTX_EX2.C:  A RTX-166 Application                      */
/*                                                                            */
/******************************************************************************/

#include <rtx166t.h>                  /* RTX-166 tiny functions & defines     */

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

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

  while (1)  {                        /* endless loop                         */
    counter0++;                       /* increment counter 0                  */
    os_wait (K_TMO, 5, 0);            /* wait for timeout: 5 ticks            */
  }
}

/******************************************************************************/
/*   Task 1 'job1':  RTX-166 tiny starts this task with os_create_task (1)    */
/******************************************************************************/
void job1 (void) _task_ 1  {
  while (1)  {                        /* endless loop                         */
    counter1++;                       /* increment counter 1                  */
    os_wait (K_TMO, 10, 0);           /* wait for timeout: 10 ticks           */
  }
}

/******************************************************************************/
/*    Task 2 'job2':  RTX-166 tiny starts this task with os_create_task (2)   */
/******************************************************************************/
void job2 (void) _task_ 2  {
  while (1)  {                        /* endless loop                         */
    counter2++;                       /* increment counter 2                  */
    if (counter2 == 0)  {             /* signal overflow of counter 2         */
      os_send_signal (3);             /* to task 3                            */
    }
  }
}

/******************************************************************************/
/*    Task 3 'job3':  RTX-166 tiny starts this task with os_create_task (3)   */
/******************************************************************************/
void job3 (void) _task_ 3  {
  while (1)  {                        /* endless loop                         */
    os_wait (K_SIG, 0, 0);            /* wait for signal                      */
    counter3++;                       /* process overflow from counter 2      */
  }
}

⌨️ 快捷键说明

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