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

📄 readchip.lst

📁 pdh控制程序
💻 LST
字号:
C51 COMPILER V7.20   READCHIP                                                              02/20/2006 10:13:58 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE READCHIP
OBJECT MODULE PLACED IN .\output\readchip.obj
COMPILER INVOKED BY: D:\keil c51 v7.09\C51\BIN\C51.EXE readchip.c BROWSE DEBUG OBJECTEXTEND PRINT(.\list\readchip.lst) O
                    -BJECT(.\output\readchip.obj)

line level    source

   1          #ifndef _READ_CHIP_C_
   2          #define _READ_CHIP_C_
   3          
   4          #include "api.h"
   5          
   6          void get_chip_e1_use_status( SYSTEM_INFOMATION *psys, SYSTEM_DEVICE_STATUS *psdev  )
   7          {
   8   1              BYTE local_e1_use;
   9   1              BYTE counter;
  10   1      
  11   1              local_e1_use = ReadChip( LOCAL_E1USE_ADDR );
  12   1      
  13   1              if( psys->e1_use != local_e1_use )
  14   1              {
  15   2                      psys->e1_use = local_e1_use;
  16   2      
  17   2                      for(counter=0; counter<psys->max_system_e1; counter++)
  18   2                      {
  19   3                              if( (psys->e1_use)&(BIT0<<counter) )
  20   3                                      psdev->local.e1_status[counter] &= ~BIT6;
  21   3                              else
  22   3                                      psdev->local.e1_status[counter] |= BIT6;
  23   3      
  24   3                              psdev->local.e1_status[counter] &= E1_NOALARM;
  25   3                              if( ((psys->alarm[4]>>counter)&BIT0) && ((psys->e1_use>>counter)&BIT0) )
  26   3                                      psdev->local.e1_status[counter] |= E1_ALARM;
  27   3                      }
  28   2              }
  29   1      }
  30          /*
  31          void get_chip_fiber_alarm_status( SYSTEM_DEVICE_STATUS *psdev  )
  32          {
  33                  BYTE chip_status;
  34                  BYTE fiber;
  35          
  36                  chip_status = ReadChip( LOCAL_STATUS_ADDR );
  37          
  38                  fiber = get_use_fiber( psdev->local.fiber_status );
  39                  fiber = ( fiber + 1 ) % MAX_FIBER_NOMBER;
  40          
  41                  psdev->local.fiber_status[fiber] &= FIBER_NOALARM;
  42                  if( !((chip_status>>fiber)&BIT0) )
  43                  {
  44                          psdev->local.fiber_status[fiber] |= FIBER_LOS;
  45                  }
  46          
  47              if( check_remote_status() == ALARM )
  48                  {
  49                          psdev->remote.fiber_status[0] &= FIBER_NOALARM;
  50                          psdev->remote.fiber_status[1] &= FIBER_NOALARM;
  51                  }
  52          }
  53          */
  54          
C51 COMPILER V7.20   READCHIP                                                              02/20/2006 10:13:58 PAGE 2   

  55          void get_chip_fiber_use_status( SYSTEM_DEVICE_STATUS *psdev )
  56          {
  57   1              BYTE chip_status;
  58   1              static BYTE chip_status_preview = INVALID;
  59   1              SYSTEM_INFOMATION *psys = &gSystemInfo;
  60   1      
  61   1              chip_status = ReadChip( LOCAL_HOOKSTATUS_ADDR );
  62   1              if( chip_status_preview != chip_status )
  63   1              {
  64   2                      chip_status_preview = chip_status;
  65   2      
  66   2                      if( !(chip_status&BIT1) )
  67   2                      {
  68   3                              psys->setbuffer[1] |= BIT4;
  69   3                      }
  70   2                      else
  71   2                              psys->setbuffer[1] &= ~BIT4;
  72   2                      psys->sendrc7017 = SETCMDSERIAL;
  73   2                      psys->SetCommandCounter = 0;
  74   2      
  75   2                      return;
  76   2              }
  77   1      
  78   1              if( !(chip_status&BIT2) )
  79   1              {
  80   2                      psdev->local.fiber_status[0] &= FIBER_USE;
  81   2                      psdev->local.fiber_status[1] |= FIBER_NOUSE;
  82   2              }
  83   1              else
  84   1              {
  85   2                      psdev->local.fiber_status[0] |= FIBER_NOUSE;
  86   2                      psdev->local.fiber_status[1] &= FIBER_USE;
  87   2              }
  88   1      }
  89          
  90          BYTE system_alarm_status( BYTE *e1_status, BYTE *fiber_status )
  91          {
  92   1              BYTE fiber_alarm;
  93   1              BYTE e1_alarm;
  94   1      
  95   1              e1_alarm = light_e1_alarm( e1_status );
  96   1              fiber_alarm = light_fiber( fiber_status );
  97   1              if( (e1_alarm != INVALID) || (fiber_alarm != INVALID) )
  98   1                      return NOALARM;
  99   1              return ALARM;
 100   1      }
 101          
 102          void chip_alarm_scan( void )
 103          {
 104   1              SYSTEM_INFOMATION *psys = &gSystemInfo;
 105   1              SYSTEM_DEVICE_STATUS *psdev = &gsystemStauts;
 106   1              BYTE alarm;
 107   1      
 108   1              get_chip_e1_use_status( psys, psdev );
 109   1      /*      get_chip_fiber_alarm_status( psdev );*/
 110   1              get_chip_fiber_use_status( psdev );
 111   1      
 112   1              alarm = system_alarm_status( psdev->local.e1_status, psdev->local.fiber_status );
 113   1              psdev->local.alarm_hook &= 0x0f;
 114   1              psdev->local.alarm_hook |= (alarm<<4);
 115   1      
 116   1              alarm = system_alarm_status( psdev->remote.e1_status, psdev->remote.fiber_status );
C51 COMPILER V7.20   READCHIP                                                              02/20/2006 10:13:58 PAGE 3   

 117   1              psdev->remote.alarm_hook &= 0x0f;
 118   1              psdev->remote.alarm_hook  |= (alarm<<4);
 119   1      
 120   1          if( (gSystemInfo.remote_fiber_status[0] == ALARM)
 121   1              && (gSystemInfo.remote_fiber_status[1] == ALARM) )
 122   1          {
 123   2              psdev->remote.alarm_hook |= 0x10;
 124   2              psdev->remote.laser_close[1] = 0;
 125   2          }
 126   1          else
 127   1              psdev->remote.laser_close[1] = 1;
 128   1      
 129   1      }
 130          
 131          
 132          #endif


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    690    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      26
   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 + -