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

📄 int.lst

📁 在51上运行的小的OS系统
💻 LST
字号:
C51 COMPILER V8.08   INT                                                                   08/04/2008 21:49:57 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE INT
OBJECT MODULE PLACED IN int.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE src\int.c DEBUG OBJECTEXTEND PRINT(.\int.lst) OBJECT(int.obj)

line level    source

   1          #define INT_GLOBAL
   2          #include "user_includes.h"
*** ERROR C141 IN LINE 45 OF SRC\..\ARM\CONFIG.H: syntax error near 'long'
*** ERROR C141 IN LINE 46 OF SRC\..\ARM\CONFIG.H: syntax error near 'long'
*** ERROR C141 IN LINE 83 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x00'
*** ERROR C132 IN LINE 83 OF SRC\..\ARM\OS_CPU.H: 'OS_TASK_SW': not in formal parameter list
*** ERROR C141 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x01'
*** ERROR C132 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 84 OF SRC\..\ARM\OS_CPU.H: '_OSStartHighRdy': not in formal parameter list
*** ERROR C141 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x02'
*** ERROR C132 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 85 OF SRC\..\ARM\OS_CPU.H: 'OS_ENTER_CRITICAL': not in formal parameter list
*** ERROR C141 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x03'
*** ERROR C132 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 86 OF SRC\..\ARM\OS_CPU.H: 'OS_EXIT_CRITICAL': not in formal parameter list
*** ERROR C141 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x40'
*** ERROR C132 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 88 OF SRC\..\ARM\OS_CPU.H: '_GetOSFunctionAddr': not in formal parameter list
*** ERROR C141 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x41'
*** ERROR C132 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 89 OF SRC\..\ARM\OS_CPU.H: '_GetUsrFunctionAddr': not in formal parameter list
*** ERROR C141 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x42'
*** ERROR C132 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 90 OF SRC\..\ARM\OS_CPU.H: 'OSISRBegin': not in formal parameter list
*** ERROR C141 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x43'
*** ERROR C132 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: syntax error near 'int'
*** ERROR C132 IN LINE 91 OF SRC\..\ARM\OS_CPU.H: 'OSISRNeedSwap': not in formal parameter list
*** ERROR C141 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x80'
*** ERROR C132 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 93 OF SRC\..\ARM\OS_CPU.H: 'ChangeToSYSMode': not in formal parameter list
*** ERROR C141 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x81'
*** ERROR C132 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 94 OF SRC\..\ARM\OS_CPU.H: 'ChangeToUSRMode': not in formal parameter list
*** ERROR C141 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x82'
*** ERROR C132 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 95 OF SRC\..\ARM\OS_CPU.H: '_TaskIsARM': not in formal parameter list
*** ERROR C141 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: syntax error near '0x83'
*** ERROR C132 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: '__swi': not in formal parameter list
*** ERROR C141 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: syntax error near 'void'
*** ERROR C132 IN LINE 96 OF SRC\..\ARM\OS_CPU.H: '_TaskIsTHUMB': not in formal parameter list
*** ERROR C127 IN LINE 113 OF SRC\..\ARM\OS_CPU.H: 'OsEnterSum': invalid storage class
*** ERROR C127 IN LINE 284 OF SRC\..\UCOSII\UCOS_II.H: 'OS_EVENT': invalid storage class
*** ERROR C127 IN LINE 301 OF SRC\..\UCOSII\UCOS_II.H: 'OS_FLAGS': invalid storage class
*** ERROR C141 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OS_FLAGS'
*** ERROR C127 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: 'OS_FLAGS': invalid storage class
C51 COMPILER V8.08   INT                                                                   08/04/2008 21:49:57 PAGE 2   

*** ERROR C141 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OSFlagFlags'
*** ERROR C127 IN LINE 312 OF SRC\..\UCOSII\UCOS_II.H: 'OSFlagFlags': invalid storage class
*** ERROR C132 IN LINE 314 OF SRC\..\UCOSII\UCOS_II.H: 'OSFlagName': not in formal parameter list
*** ERROR C141 IN LINE 316 OF SRC\..\UCOSII\UCOS_II.H: syntax error near '}'
*** ERROR C141 IN LINE 325 OF SRC\..\UCOSII\UCOS_II.H: syntax error near 'OS_FLAGS'
*** ERROR C129 IN LINE 325 OF SRC\..\UCOSII\UCOS_II.H: missing ';' before 'OSFlagNodeFlags'
*** WARNING C318 IN LINE 103 OF SRC\..\ARM\CONFIG.H: can't open file 'rt_misc.h'
*** WARNING C322 IN LINE 109 OF SRC\DISPLAY.H: unknown identifier
*** WARNING C322 IN LINE 155 OF SRC\DISPLAY.H: unknown identifier
*** WARNING C322 IN LINE 201 OF SRC\DISPLAY.H: unknown identifier
   3          
   4          /***************************************************************************
   5          [Function]: 
   6          [Input]:
   7          [Output]:
   8          [Note]:
   9           ***************************************************************************/
  10          //PO脉冲输出的高低电平可以用timer1直接控制,而不用以20ms为单位来输出
  11          void Timer1_Exception(void){
  12              //  T1MR3 += Timer100MS;
  13              if (T1IR &0x01){
  14                  T1IR = 0x01;
  15              }
  16              if (T1IR &0x02){
  17                  T1IR = 0x02;
  18              }
  19              if (T1IR &0x04){
  20                  T1IR = 0x04;
  21              }
  22              if (T1IR & 0x08)
  23              {   
  24                  T1IR = 0x08;
  25                  if (((SSPSR &0x1)&&(SPI1Data.Mode == SPI1_TX_OK))
  26                      || !SPI1Data.Timer ){
  27                      T1MCR &= ~(1<<9);
  28                      //Set1SPI1SSEL();
  29                      DisableSPI1Interrupt();
  30                      SPI1Data.Mode = SPI1_IDLE;
  31                      OSSemPost(SPI1Sem);
  32                  }
  33                  else {
  34                      T1MR3 = T1TC + SPI1_CPSDVSR*8;
  35                  }
  36                  if (SPI1Data.Timer){
  37                      SPI1Data.Timer--;
  38                  }
  39              }
  40              VICVectAddr = 0x00; // 中断处理结束
  41          }
  42          
  43          /***************************************************************************
  44          [Function]: 定时器1初始化 
  45          [Input]:
  46          [Output]:
  47          [Note]:
  48           ***************************************************************************/
  49          void T1_Ini(void)
  50          {
  51              T1TC   = 0;         /* 定时器设置为0                                        */
  52              T1PR = 0;/* 时钟不分频                                          */
  53              T1MCR = 1 | (1 << 3) | (1 << 6);/* 设置T0MR0匹配后复位T0TC,并产生中断标志              */
  54              //      |(1<<9);
C51 COMPILER V8.08   INT                                                                   08/04/2008 21:49:57 PAGE 3   

  55          
  56          //  T1MR2 = Timer20MS;
  57          //  BeepTimePerCycle = Fpclk / 100;/* 0.01秒钟定时                                          */
  58              T1TCR = 0x03; //启动并复位T1TC
  59              T1TCR = 0x01;/* 启动定时器*/
  60          }
  61          
  62          /***************************************************************************
  63          [Function]: 
  64          [Input]:
  65          [Output]:
  66          [Note]:
  67           ***************************************************************************/
  68          void SPI1_Init(void)
  69          {
  70              SSPCR0 = (0x00 << 8) |              // SCR  设置SPI时钟分频
  71                       (0x01 << 7) |              // CPHA 时钟输出相位,仅SPI模式有效 
  72                       (0x01 << 6) |              // CPOL 时钟输出极性,仅SPI模式有效
  73                       (0x00 << 4) |              // FRF  帧格式 00=SPI,01=SSI,10=Microwire,11=保留
  74                       (0x07 << 0);               // DSS  数据长度,0000-0010=保留,0011=4位,0111=8位,1111=16位
  75          
  76              SSPCR1 = (0x00 << 3) |              // SOD  从机输出禁能,1=禁止,0=允许
  77                       (0x00 << 2) |              // MS   主从选择,0=主机,1=从机
  78                       (0x01 << 1) |              // SSE  SSP使能,1=允许SSP与其它设备通信
  79                       (0x00 << 0);               // LBM  回写模式
  80          //    VICIntEnable = 1 << 11;
  81           
  82              SSPCPSR = SPI1_CPSDVSR;                     // PCLK分频值
  83             // SSPIMSC = 0x07;                     // 中断屏蔽寄存器
  84              SSPICR  = 0x03;                     // 中断清除寄存器
  85              DisableSPI1Interrupt();
  86              //Set1SPI1SSEL();
  87          }
  88          
  89          /***************************************************************************
  90          [Function]: 
  91          [Input]:
  92          [Output]:
  93          [Note]:
  94           ***************************************************************************/
  95          uint32 IntStatus;
  96          uint32 IntE;
  97          uint32 SPmis;
  98          uint32 SoftInt;
  99          void SPI1_Exception(void){
 100              uint32 sendByteNum = 2;
 101              IntStatus = VICRawIntr;
 102              IntE = VICIntEnable;
 103              SoftInt = VICSoftInt;
 104              SPmis = SSPMIS;
 105                  
 106              if (SSPMIS & 0x8){
 107                  SPI1Data.Timer = 10;
 108                  while((SSPSR&0x02) && (SPI1Data.Point<SPI1Data.Count)){
 109                      //发送FIFO未满且有要发送的数据
 110                      //SSPDR = SPI1Data.Buff[SPI1Data.Point++];
 111                      SSPDR = SPI1Data.Ptr_Buff[SPI1Data.Point];
 112                      sendByteNum++;
 113                      if (SPI1Data.Mode == SPI1_DATA_TX){
 114                          if (!--SPI1Data.AddressCnt){
 115                              SPI1Data.AddressCnt=4;
 116                              SPI1Data.Point++;
C51 COMPILER V8.08   INT                                                                   08/04/2008 21:49:57 PAGE 4   

 117                          }
 118                      }
 119                      else {
 120                          SPI1Data.Point++;
 121                      }
 122                  }
 123                  if (SPI1Data.Point>=SPI1Data.Count){
 124                      SPI1Data.Mode = SPI1_TX_OK;
 125                      DisableSPI1Interrupt();
 126                  }
 127                  T1MR3 = T1TC + SPI1_CPSDVSR*8*sendByteNum;
 128              }
 129              
 130              VICVectAddr = 0x00;
 131          }
 132          
 133          /***************************************************************************
 134          [Function]:SPI0_Init()  初始化SPI接口,设置为主机
 135          [Input]:    
 136          [Output]:
 137          [Note]:
 138           ***************************************************************************/
 139          void SPI0_Init(void){
 140              PINSEL0 = (PINSEL0 &0xFFFF00FF) | 0x00001500; //设置引脚连接SPI
 141              S0PCCR = 128; //设置SPI时钟分频= (11059200*2)/8=2764800Hz
 142              S0PCR = (1 << 3) |  //CPHA = 1,数据在SCK的第二个时钟沿采样
 143              (1 << 4) |  //CPOL=1,SCK为低有效
 144              (1 << 5) |  //MSTR=1,SPI处于主模式
 145              (0 << 6) |  //LSBF=0,SPI数据传输MSB(Bit7)在先
 146              (1 << 7); //SPIE =1,开SPI中断
 147          
 148              //    VICVectCntl3 = (0x20 | SPI_INT_ID);//EINT2
 149              //    VICVectAddr3 = (uint32)IRQ_SPI;//
 150          
 151              S0PINT = 1; // 
 152              EXTINT = 4;
 153              VICIntEnable = (1 << SPI_INT_ID) | (1 << 16); //
 154              PINSEL0 |= 3 << 14;
 155              Set1SPI0SSEL();
 156                  SPI0Data.ptrBuff = SPI0Data.Buff;
 157              SPI0Data.Busy = 0;
 158              SPI0Data.Mode = SPI0_Idle;
 159              SPI0Data.Count = 10;
 160              //    VICIntEnable = 1<<16;//外部中断2
 161          }
 162          
 163          /***************************************************************************
 164          [Function]: 
 165          [Input]:
 166          [Output]:
 167          [Note]:
 168           ***************************************************************************/
 169          void SPI0_Exception(void)
 170          {
 171              uint16 temp;
 172              temp = S0PSR;
 173              S0PINT = 1;
 174          
 175              if ((temp &(0x80 | 0x20)) || (VICSoftInt &(1 << SPI_INT_ID)))
 176              {
 177                  temp = S0PDR;
 178                  if (SPI0Data.Point < SPI0Data.Count)
C51 COMPILER V8.08   INT                                                                   08/04/2008 21:49:57 PAGE 5   

 179                  {
 180                      S0PDR = SPI0Data.Buff[SPI0Data.Point];            
 181                  }
 182                  else 
 183                  {
 184                       Set1SPI0SSEL();
 185                  }
 186                      SPI0Data.Buff[SPI0Data.Point++] = temp;
 187              }
 188              else if (temp &0x10){
 189                  //模式错误
 190                  S0PCR = 0xB8;
 191                  
 192              }
 193          
 194              VICSoftIntClear = (1 << SPI_INT_ID); //清软中断
 195              VICVectAddr = 0x00; // 中断处理结束    
 196          }
 197          
 198          

C51 COMPILATION COMPLETE.  4 WARNING(S),  59 ERROR(S)

⌨️ 快捷键说明

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