ch13-3.c

来自「单片机接口技术(C51版)例程源代码」· C语言 代码 · 共 42 行

C
42
字号
//使用本程序建立工程时,请参阅教材P283图A-18,将其中的"operating"项由"None"
//改为"RTX-51 Tiny"
#include <rtx51tny.h>                 /* RTX-51 tiny functions & defines      */

long counter0;                        /*任务0的计数器         */
long counter1;                        /*任务1的计数器         */
long counter2;                        /*任务2的计数器         */
long counter3;                        /*任务3的计数器         */

job0 () _task_ 0  {                  
  os_create_task (1);                 /* 启动任务1                */
  os_create_task (2);                 /* 启动任务2                */
  os_create_task (3);                 /* 启动任务3                */
 while (1)  {                         /* 无穷循环                 */
    counter0++;                       /* counter0加1              */
    os_wait (K_TMO, 5, 0);            /*等待超时信号: 5个时钟报时 */
  }
}

job1 () _task_ 1  {
  while (1)  {                        /* 无穷循环                  */
    counter1++;                       /*counter1加1                */
    os_wait (K_TMO, 10, 0);           /*等待超时信号: 10个时钟报时 */
  }
}

job2 () _task_ 2  {
  while (1)  {                        /* 无穷循环                  */
    counter2++;                       /*counter2加1                */
    if ((counter2 & 0xFFFF) == 0)  {  /* 如果counter2=0            */
      os_send_signal (3);             /* 发信号至任务3             */
    }
  }
}

job3 () _task_ 3  {
  while (1)  {                        /* 无穷循环                  */
    os_wait (K_SIG, 0, 0);            /* 等待信号                  */
    counter3++;                       /* 收到信号后,counter3加1   */
  }
}

⌨️ 快捷键说明

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