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

📄 ex2.lst

📁 新版本ucosii移植
💻 LST
字号:
C51 COMPILER V7.01  EX2                                                                    01/09/2003 18:33:33 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE EX2
OBJECT MODULE PLACED IN Ex2.OBJ
COMPILER INVOKED BY: D:\KEILC51\C51\BIN\C51.EXE Ex2.c LARGE BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /******************************************************************************/
   2          /*                                                                            */
   3          /*                     EX2.C:  例子程序                                       */
   4          /*                                                                            */
   5          /*                     仿照RtxTiny2 中的EX2                                   */
   6          /*                                                                            */
   7          /******************************************************************************/
   8          
   9          #include <includes.h>                 /* UCOS_II 的主头文件   */
  10          
  11          void job0(void *yydata);              /* 声明4个任务          */
  12          void job1(void *yydata);
  13          void job2(void *yydata);
  14          void job3(void *yydata);
  15          
  16          OS_STK TaskStk[4][MaxStkSize];        /* 任务堆栈             */
  17          OS_EVENT *Sem;                        /* 声明一个信号量       */
  18             
  19          long counter0;                        /* 任务0 的计数器       */
  20          long counter1;                        /* 任务1 的计数器       */
  21          long counter2;                        /* 任务2 的计数器       */
  22          long counter3;                        /* 任务3 的计数器       */
  23          
  24          void main(void)
  25          {
  26   1          OSInit();
  27   1          InitTimer0();
  28   1          Sem = OSSemCreate(0);             /* 建立一个信号量       */
  29   1          OSTaskCreate(job0, (void *)0, (void *)&TaskStk[0][0],6);     
  30   1          OSStart();
  31   1      }
  32          
  33          /******************************************************************************/
  34          /*       任务0 'job0':                                                        */
  35          /******************************************************************************/
  36          void job0 ( void *yydata )  { 
  37   1        yydata = yydata;                    /* 避免编译器警告        */ 
  38   1        OSTaskCreate(job1, (void *)0, (void *)&TaskStk[1][0], 7);
  39   1        OSTaskCreate(job2, (void *)0, (void *)&TaskStk[2][0], 9);
  40   1        OSTaskCreate(job3, (void *)0, (void *)&TaskStk[3][0], 8);
  41   1      
  42   1        while (1)  {                        /* 死循环                */
  43   2          counter0++;                       /* counter0 加一         */
  44   2          OSTimeDly(2);                     /* 等待2个ticks          */
  45   2        }
  46   1      }
  47          
  48          /******************************************************************************/
  49          /*       任务1 'job1':                                                        */
  50          /******************************************************************************/
  51          void job1 ( void *yydata )  {
  52   1        yydata = yydata;                    /* 避免编译器警告        */
  53   1        while (1)  {                        /* 死循环                */
  54   2          counter1++;                       /* counter1 加一         */
  55   2          OSTimeDly(4);                     /* 等待4个ticks          */
C51 COMPILER V7.01  EX2                                                                    01/09/2003 18:33:33 PAGE 2   

  56   2        }
  57   1      }
  58          
  59          /******************************************************************************/
  60          /*       任务2 'job2':                                                        */
  61          /******************************************************************************/
  62          void job2 ( void *yydata )  {
  63   1        yydata = yydata;                    /* 避免编译器警告        */
  64   1        while (1)  {                        /* 死循环                */
  65   2          counter2++;                       /* counter2 加一         */
  66   2          if ((counter2 & 0xFFFF) == 0)  {  /* counter2 溢出         */
  67   3            OSSemPost(Sem);                 /* 发信号给任务3         */
  68   3          }
  69   2        }
  70   1      }
  71          
  72          /******************************************************************************/
  73          /*       任务3 'job3':                                                        */
  74          /******************************************************************************/
  75          void job3 ( void *yydata )  {
  76   1        INT8U err;
  77   1        yydata = yydata;                    /* 避免编译器警告        */
  78   1        while (1)  {                        /* 死循环                */
  79   2          OSSemPend(Sem, 0, &err);          /* 等待信号              */
  80   2          counter3++;                       /* 处理counter2 溢出     */
  81   2        }
  82   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    390    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =    419       1
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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