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

📄 centerinterface.lst

📁 通过车载终端采集GPS数据
💻 LST
字号:
C51 COMPILER V7.09   CENTERINTERFACE                                                       09/17/2008 16:18:58 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE CENTERINTERFACE
OBJECT MODULE PLACED IN .\output\centerinterface.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main\centerinterface.c LARGE BROWSE INCDIR(audio\;eeprom\;extendUART\;flash
                    -\;gps\;inter\;key\;mcu\;menu\;usb\;gprs\;main\;1wire\) DEBUG OBJECTEXTEND PRINT(.\output\centerinterface.lst) OBJECT(.\o
                    -utput\centerinterface.obj)

line level    source

   1          #include "typedef.h"
   2          #include "global.h"
   3          #include <string.h>
   4          #include "common_function.h"
   5          #include "menubuffer.h"
   6          #include "nvram.h"
   7          #include "message.h"
   8          #include "Trans_process.h"
   9          extern xdata SYSTEM_INFO systemInfo;
  10          extern xdata STATION_TONE stationTone[128];//上下行车站数据
  11          extern xdata BUS_INFO busInfo;//线路当前信息
  12          extern xdata TERM_PARA termPara;//线路参数
  13          extern xdata SIMCARD_INFO simInfo;
  14          /*func2,该函数被*/
  15          void get_cur_tranStation(unsigned char *value)
  16          {
  17   1          *value = busInfo.tranCurStation;
  18   1      }
  19          
  20          /*****************************************************
  21          *获取站台ID
  22          *station    1~128;func2
  23          ******************************************************/
  24          void get_station_id(unsigned char station, unsigned char *value)
  25          {
  26   1          memcpy(value, stationTone[station-1].id, MAX_STATIONID_SIZE);
  27   1      }
  28          
  29          
  30          /*向指定的3字节内存填入当前日期,顺序为年月日;func2*/
  31          void get_term_data(unsigned char *value)
  32          {
  33   1          unsigned char *ptr;
  34   1      
  35   1          ptr = value;
  36   1      
  37   1          *ptr++ = bin2bcd(systemInfo.year);
  38   1          *ptr++ = bin2bcd(systemInfo.mon);
  39   1          *ptr++ = bin2bcd(systemInfo.day);
  40   1      }
  41          
  42          /*本函数为获取原分体机中的终端参数;在一体机中可能需要改变!!!
  43          func2,这里TERM_PARA也要重新定义*/
  44          //TERM_PARA* get_termpara()
  45          /*获取终端当前装载的6条线路*/
  46          void get_lineIDloaded(unsigned char* value)
  47          {
  48   1          unsigned int i;
  49   1          for (i=0; i<6; i++)
  50   1          {
  51   2              memcpy(value, termPara.line[i].lineID, 4);
  52   2              value += 4;
  53   2          }
C51 COMPILER V7.09   CENTERINTERFACE                                                       09/17/2008 16:18:58 PAGE 2   

  54   1      }
  55          
  56          /*SIMCARD_INFO需要定义 func2*/
  57          SIMCARD_INFO* get_simcard()
  58          {
  59   1          return &simInfo;
  60   1      }
  61          
  62          /*nlen:为 pValue的长度*/
  63          /*关键数据区域的写,需要加上有效标志*/
  64          void save_to_keyArea(unsigned char cmdId, unsigned char *pValue, unsigned char nlen)
  65          {
  66   1      /*    unsigned char tmpBuf[4];
  67   1          unsigned char i;
  68   1          tmpBuf[0] = 0x58;
  69   1          tmpBuf[1] = 0x76;
  70   1          for (i=0; i<nlen; i++)
  71   1              tmpBuf[2+i] = *(pValue+i);
  72   1          nvram_write(cmdId, tmpBuf);*/
  73   1      }
*** WARNING C280 IN LINE 64 OF MAIN\CENTERINTERFACE.C: 'cmdId': unreferenced local variable
*** WARNING C280 IN LINE 64 OF MAIN\CENTERINTERFACE.C: 'pValue': unreferenced local variable
*** WARNING C280 IN LINE 64 OF MAIN\CENTERINTERFACE.C: 'nlen': unreferenced local variable
  74          
  75          void set_keyArea_value(unsigned int v1, unsigned char v2, unsigned char v3, unsigned char v4)
  76          {
  77   1          unsigned char tmpBuf[7];
  78   1          systemInfo.autoSendTime = v1;
  79   1          systemInfo.onlineTime = v2;
  80   1          systemInfo.arriveMeter = v3;
  81   1          systemInfo.leftMeter = v4;
  82   1          tmpBuf[0] = 0x56;
  83   1          tmpBuf[1] = 0x78;
  84   1          memcpy(tmpBuf+2, (unsigned char*)(&v1), 2);
  85   1          tmpBuf[4] = v2;
  86   1          tmpBuf[5] = v3;
  87   1          tmpBuf[6] = v4;
  88   1          nvram_write(NVRAM_AUTO_SEND, tmpBuf);
  89   1      }
  90          
  91          void set_online_time(unsigned char *value)
  92          {
  93   1          systemInfo.onlineTime = *value;
  94   1          save_to_keyArea(NVRAM_ONLINE, value, 1);
  95   1      }
  96          
  97          void set_arrive_meter(unsigned char *value)
  98          {
  99   1          systemInfo.arriveMeter = *value;
 100   1          //需要增加写E2
 101   1          save_to_keyArea(NVRAM_ARRIVE_METER, value, 1);
 102   1      }
 103          
 104          void set_left_meter(unsigned char *value)
 105          {
 106   1          systemInfo.leftMeter = *value;
 107   1          //需要增加写E2
 108   1          save_to_keyArea(NVRAM_LEFT_METER, value, 1);
 109   1      }
 110          
 111          void set_auto_time(unsigned int *value)
 112          {
C51 COMPILER V7.09   CENTERINTERFACE                                                       09/17/2008 16:18:58 PAGE 3   

 113   1          systemInfo.autoSendTime = *value;
 114   1          save_to_keyArea(NVRAM_AUTO_SEND, value, 2);//save_to_keyArea(NVRAM_AUTO_SEND, (unsigned char*)value, 2
             -);
*** WARNING C182 IN LINE 114 OF MAIN\CENTERINTERFACE.C: pointer to different objects
 115   1      }
 116          
 117          /*获取线路ID,func2*/
 118          void get_line_id(unsigned char *value)
 119          {
 120   1          memcpy(value, busInfo.id, 4);
 121   1      }
 122          
 123          /*心跳间隔,func2*/
 124          void get_online_time(unsigned char *value)
 125          {
 126   1          *value = systemInfo.onlineTime;
 127   1      }
 128          
 129          /*GPS发送间隔,func2*/
 130          void get_auto_time(unsigned int *value)
 131          {
 132   1          *value = systemInfo.autoSendTime;
 133   1      }
 134          
 135          
 136          /*设置运营或非运营,func2*/
 137          void set_work_state(unsigned char *value)
 138          {
 139   1          systemInfo.runMode = *value;
 140   1      }
 141          
 142          /*将中心返回的登陆信息的应答填充到formatbuffer中*/
 143          void set_loginmsg_response(Byte msgLen, Byte* msgPtr, Word msgID)
 144          {
 145   1          FORMAT_BUFFER* pBuffer;
 146   1          SET_WORKSTATUS* pStatus;
 147   1          pBuffer = get_format_buffer();
 148   1          set_formatbuffer_status(RESPONSE_VALID);
 149   1          pBuffer->id = msgID;
 150   1          pStatus = (SET_WORKSTATUS*)(pBuffer->buf);
 151   1          *(msgPtr+msgLen) = 0;
 152   1          pStatus->len = message_convert_tolength(pStatus->content, msgPtr+1);  
 153   1          pStatus->status = *msgPtr;     
 154   1      }
 155          
 156          
 157          void set_telephone_list(unsigned char *value)
 158          {
 159   1      
 160   1          nvram_write(NVRAM_TELEPHONE_LIST, value);
 161   1      }
 162          
 163          void workState_porcess(void)
 164          {
 165   1          static char data timeCount=0;
 166   1      
 167   1      
 168   1          if(0 == systemInfo.landFlag)//( systemInfo.runMode == RUN_NOSTATUS )
 169   1          {
 170   2              timeCount ++;
 171   2              if( timeCount >= 15 )
 172   2              {
C51 COMPILER V7.09   CENTERINTERFACE                                                       09/17/2008 16:18:58 PAGE 4   

 173   3                  timeCount = 0;
 174   3                  //查看是否已经正确获取到了终端参数
 175   3                  if (simInfo.validFlag == TERM_PARA_VALID)
 176   3                      make_assess_message(6);
 177   3              }
 178   2          }
 179   1          else
 180   1              timeCount = 15;//这样只要发现中途要注册,则马上注册
 181   1      
 182   1      }
 183          
 184          void set_menucurspeed(Uint16 value)
 185          {
 186   1          Uint32 tmp32;
 187   1          tmp32 = value;
 188   1          tmp32 = tmp32*37;
 189   1          tmp32 /= 2000;
 190   1          systemInfo.curSpeed = tmp32;
 191   1      }
 192          
 193          Byte get_menucurspeed()
 194          {
 195   1          return systemInfo.curSpeed;
 196   1      }
 197          


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


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

⌨️ 快捷键说明

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