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

📄 light_struct.lst

📁 UCOSII源码,三星4510下面的uCOSII源码.
💻 LST
📖 第 1 页 / 共 5 页
字号:
           =1 #endif
  20      =1  
  21      =1  #ifndef _WCHAR_T_DEFINED_
  22      =1  #define _WCHAR_T_DEFINED_
  23      =1  typedef char wchar_t;
  24      =1  #endif
  25      =1  
  26      =1  
  27      =1  #pragma SAVE
  28      =1  #pragma REGPARMS
  29      =1  
  30      =1  extern int    abs  (int   val);
  31      =1  extern long  labs  (long  val);
  32      =1  
  33      =1  extern float atof (char *s1);
  34      =1  extern long  atol (char *s1);
  35      =1  extern int   atoi (char *s1);
  36      =1  extern int   rand ();
  37      =1  extern void  srand (int);
  38      =1  
  39      =1  extern float         strtod  (char *, char **);
  40      =1  extern long          strtol  (char *, char **, unsigned char);
  41      =1  extern unsigned long strtoul (char *, char **, unsigned char);
  42      =1  
  43      =1  #define _MALLOC_MEM_    xdata
  44      =1  
  45      =1  extern int  init_mempool          (void _MALLOC_MEM_ *p, unsigned int size);
  46      =1  extern void _MALLOC_MEM_ *malloc  (unsigned int size);
  47      =1  extern void free                  (void _MALLOC_MEM_ *p);
  48      =1  extern void _MALLOC_MEM_ *realloc (void _MALLOC_MEM_ *p, unsigned int size);
  49      =1  extern void _MALLOC_MEM_ *calloc  (unsigned int size, unsigned int len);
  50      =1  
  51      =1  #pragma RESTORE
  52      =1  
  53      =1  #endif
   5          
   6                  
   7          void TaskStartyya(void *yydata) ;
   8          void TaskStartyyb(void *yydata) ;
   9          void TaskStartyyc(void *yydata) ;
C51 COMPILER V7.50   LIGHT_STRUCT                                                          03/31/2006 10:11:25 PAGE 17  

  10          void TaskStartyyd(void *yydata) ;
  11          
  12          
  13          OS_STK TaskStartStkyya[MaxStkSize];//注意:我在ASM文件中设置?STACK空间为40H即64。
  14          OS_STK TaskStartStkyyb[MaxStkSize];
  15          OS_STK TaskStartStkyyc[MaxStkSize];
  16          OS_STK TaskStartStkyyd[MaxStkSize];
  17          
  18            
  19          sbit LED0 = P1^0;
  20          sbit LED1 = P1^1;
  21          sbit LED2 = P1^2;
  22          sbit LED3 = P1^3;
  23          sbit LED4 = P3^4;
  24          sbit LED5 = P3^5;
  25          sbit LED6 = P3^2;
  26          sbit LED7 = P3^3;
  27          
  28                   OS_EVENT *sem;
  29                   OS_EVENT *CommQ1,*CommQ2,*CommQ3; 
  30                   void     *CommMsg0[10];
  31                   void     *CommMsg1[10];
  32                   void     *CommMsg2[10];
  33                   struct num_data
  34                  {
  35                          unsigned int data1;
  36                          unsigned int data2;
  37                          unsigned int data3;
  38                  }; 
  39          
  40                  
  41          void main(void)
  42          {
  43   1          OSInit();
  44   1           
  45   1              
  46   1          InitTimer0();
  47   1          InitSerial();
  48   1          InitSerialBuffer();
  49   1      
  50   1                      sem = OSSemCreate(1);
  51   1                  CommQ1 = OSQCreate(&CommMsg0[0],10);
  52   1                  CommQ2 = OSQCreate(&CommMsg1[0],10);
  53   1              
  54   1          
  55   1        OSTaskCreate(TaskStartyya, (void *)0, &TaskStartStkyya[0],8);
  56   1        OSTaskCreate(TaskStartyyb, (void *)0, &TaskStartStkyyb[0],7);
  57   1        OSTaskCreate(TaskStartyyc, (void *)0, &TaskStartStkyyc[0],5);
  58   1        OSTaskCreate(TaskStartyyd, (void *)0, &TaskStartStkyyd[0],10);
  59   1          
  60   1              OSStart();
  61   1              
  62   1      }
  63          
  64          
  65          /*
  66          void TaskStartyya(void *yydata) reentrant
  67          {
  68              yydata=yydata;
  69              clrscr();
  70              PrintStr("\n\t\t*******************************\n");
  71              PrintStr("\t\t*     Hello! The world.       *\n");
C51 COMPILER V7.50   LIGHT_STRUCT                                                          03/31/2006 10:11:25 PAGE 18  

  72              PrintStr("\t\t*******************************\n\n\n");
  73            
  74              for(;;)
  75                  {
  76                  PrintStr("\tAAAAAA111111 is active.\n");
  77                  OSTimeDly(OS_TICKS_PER_SEC);    
  78              }    
  79          }
  80          
  81          void TaskStartyyb(void *yydata) reentrant
  82          {
  83              yydata=yydata; 
  84              
  85              for(;;)
  86                  {
  87                  PrintStr("\tBBBBBB333333 is active.\n");
  88                  OSTimeDly(3*OS_TICKS_PER_SEC);    
  89              }    
  90          }
  91          
  92          void TaskStartyyc(void *yydata) reentrant
  93          {
  94              yydata=yydata; 
  95              
  96              for(;;)
  97                  {
  98                  PrintStr("\tCCCCCC666666 is active.\n");
  99                  OSTimeDly(6*OS_TICKS_PER_SEC);    
 100              }    
 101          }
 102          
 103          
 104          
 105            void TaskStartyy(void *yydata) 
 106          {
 107              INT8U err;
 108              unsigned char *msg;
 109              
 110              while(1)
 111                  {
 112                                  
 113                          msg = OSSemPend(CommQ, 0, &err);
 114                          
 115                          LED0=1;
 116                      OSTimeDly(6*OS_TICKS_PER_SEC);
 117                      LED0=0;
 118                      OSTimeDly(6*OS_TICKS_PER_SEC);
 119           
 120              }    
 121          }
 122          
 123            */
 124          
 125           void TaskStartyya(void *yydata) 
 126          {
 127   1              INT8U  err;     
 128   1              int i;
 129   1              static struct num_data ddd;
 130   1              
 131   1               yydata =yydata;
 132   1               while(1)
 133   1                 {
C51 COMPILER V7.50   LIGHT_STRUCT                                                          03/31/2006 10:11:25 PAGE 19  

 134   2                                /*ddd.data1=rand()%3+1;
 135   2                               ddd.data2=rand()%3;
 136   2                                ddd.data3=ddd.data1+ddd.data2;*/
 137   2                                ddd.data1=8;
 138   2                                for(i=0;i<16;i++)
 139   2                                { 
 140   3                                
 141   3                                switch(i)
 142   3                                {
 143   4                                case 0: ddd.data2=0;break;
 144   4                                case 1: ddd.data2=1;break;
 145   4                                case 2: ddd.data2=3;break;
 146   4                                case 3: ddd.data2=7;break;
 147   4                                case 4: ddd.data2=15;break;
 148   4                                case 5: ddd.data2=31;break;
 149   4                                case 6: ddd.data2=63;break;
 150   4                            case 7: ddd.data2=127;break;
 151   4                                case 8: ddd.data2=255;break;
 152   4                                case 9: ddd.data2=128;break;
 153   4                                case 10: ddd.data2=192;break;
 154   4                                case 11: ddd.data2=224;break;
 155   4                                case 12: ddd.data2=240;break;
 156   4                                case 13:  ddd.data2=248;break;
 157   4                                case 14: ddd.data2=252;break;
 158   4                                case 15: ddd.data2=254;break;
 159   4                                case 16: ddd.data2=255;break;
 160   4                                 
 161   4                                }
 162   3                                 ddd.data3=ddd.data1+ddd.data2;
 163   3                                OSTimeDly(200);
 164   3                                err = OSQPost(CommQ1,&ddd);
 165   3                                
 166   3                                }
 167   2                      
 168   2                               
 169   2              }
 170   1      }
 171          
 172          
 173          
 174          void TaskStartyyb(void *yydata) 
 175          { 
 176   1           INT8U  err;
 177   1               static struct num_data *pdat_taskb;
 178   1               static unsigned char   buf0,buf1,buf2;
 179   1               yydata =yydata;
 180   1               while(1)
 181   1               {
 182   2                       pdat_taskb = OSQPend(CommQ1, 0, &err);
 183   2                   buf0 = pdat_taskb->data1;
 184   2                       buf1 = pdat_taskb->data2;
 185   2                       buf2 = pdat_taskb->data3;
 186   2                       OSSemPend(sem, 0, &err); 
 187   2                        
 188   2                       /*  switch(buf0)
 189   2                       {      case 0:   PrintStr("0\n");      break;
 190   2                          case 1:   PrintStr("1\n");  break;
 191   2                          case 2:   PrintStr("2\n");  break;
 192   2                              case 3:   PrintStr("3\n");      break;
 193   2                          
 194   2                       }
 195   2      
C51 COMPILER V7.50   LIGHT_STRUCT                                                          03/31/2006 10:11:25 PAGE 20  

 196   2                       switch(buf1)
 197   2                       {      
 198   2                          case 0:   PrintStr("0\n");  break;
 199   2                          case 1:   PrintStr("1\n");  break;
 200   2                          case 2:   PrintStr("2\n");  break;
 201   2                      
 202   2                         
 203   2                       }
 204   2                       switch(buf2)
 205   2                       {      
 206   2                          case 0:   PrintStr("0\n");  break;
 207   2                          case 1:   Prin

⌨️ 快捷键说明

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