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

📄 gps_collect.lst

📁 通过车载终端采集GPS数据
💻 LST
📖 第 1 页 / 共 2 页
字号:
 218   1      }
 219          /*
 220          上传GPS数据函数
 221           读取存储器中的GPS数据,并发到串口B通道上
 222           上传过程中可以通过按取消键退出
 223           上传完也要按取消键才能退出
 224          */
 225          
 226          void process_upgps(void)
 227          {
 228   1              unsigned char up[6]="上行";
 229   1              unsigned char down[6]="下行";
 230   1      
 231   1              Uint32 pos,page;
 232   1              Uint16 tem;
 233   1              Byte i;
 234   1              Byte *pp;
 235   1              up[4]=down[4]='\r';
 236   1              up[5]=down[5]='\n';
 237   1              menu_up_gps_record();
 238   1              nf_read_tobuf(0x00000000,sysinfo,8*sizeof(GPS_LINE_INFO));
 239   1              memcpy(&gps_8line[0],sysinfo,8*sizeof(GPS_LINE_INFO));
C51 COMPILER V7.09   GPS_COLLECT                                                           09/25/2008 11:56:21 PAGE 5   

 240   1              page=0;
 241   1              tem= gps_8line[tmp_line].gps_counter_up;
 242   1              menu_display_char(11,0,tem/1000+'0',0);
 243   1              menu_display_char(12,0,tem/100%10+'0',0);
 244   1              menu_display_char(13,0,tem/10%10+'0',0);
 245   1              menu_display_char(14,0,tem%10+'0',0);
 246   1              if(tem)
 247   1                      siob_send(up, 6);
 248   1              while(tem)
 249   1              {
 250   2                      pos= page*256+tmp_line*0x00100000+0x00200000;
 251   2                      nf_read_tobuf(pos,gps_data_buf,240);
 252   2                      i=0;
 253   2                      while(i<3)
 254   2                      {
 255   3                              menu_display_char(6,0,tem/1000+'0',0);
 256   3                              menu_display_char(7,0,tem/100%10+'0',0);
 257   3                              menu_display_char(8,0,tem/10%10+'0',0);
 258   3                              menu_display_char(9,0,tem%10+'0',0);
 259   3                              if(get_key()==KEY_CODE_ESC) return;
 260   3                              if(tem)
 261   3                      {
 262   4                              pp=gps_data_buf+i*80;
 263   4                              siob_send(pp, strlen(pp));
 264   4                              }
 265   3                              else break;
 266   3                              tem--;
 267   3                              i++;
 268   3                      }
 269   2      
 270   2                      page++;
 271   2      
 272   2              }
 273   1              page=0;
 274   1              tem= gps_8line[tmp_line].gps_counter_down;
 275   1              menu_display_char(11,1,tem/1000+'0',0);
 276   1              menu_display_char(12,1,tem/100%10+'0',0);
 277   1              menu_display_char(13,1,tem/10%10+'0',0);
 278   1              menu_display_char(14,1,tem%10+'0',0);
 279   1              if(tem)
 280   1                      siob_send(down, 6);
 281   1              while(tem)
 282   1              {
 283   2                      pos= page*256+tmp_line*0x00100000+0x00280000;
 284   2                      nf_read_tobuf(pos,gps_data_buf,240);
 285   2                      i=0;
 286   2                      while(i<3)
 287   2                      {
 288   3                              menu_display_char(6,1,tem/1000+'0',0);
 289   3                              menu_display_char(7,1,tem/100%10+'0',0);
 290   3                              menu_display_char(8,1,tem/10%10+'0',0);
 291   3                              menu_display_char(9,1,tem%10+'0',0);
 292   3                              if(get_key()==KEY_CODE_ESC) return;
 293   3                              if(tem)
 294   3                      {
 295   4                              pp=gps_data_buf+i*80;
 296   4                              siob_send(pp, strlen(pp));
 297   4                              }
 298   3                              else break;
 299   3                              tem--;
 300   3                              i++;
 301   3                      }
C51 COMPILER V7.09   GPS_COLLECT                                                           09/25/2008 11:56:21 PAGE 6   

 302   2      
 303   2                      page++;
 304   2      
 305   2              }
 306   1              menu_process_over();
 307   1              while(get_key()!=KEY_CODE_ESC);
 308   1      
 309   1      }
 310          /*
 311            线路选择处理函数
 312          
 313          */
 314          void process_line(void)
 315          {
 316   1              unsigned char key;
 317   1              tmp_line=0xff;
 318   1              menu_line();    //显示线路选择界面
 319   1              while(1)
 320   1              {
 321   2                      key=get_key();
 322   2                      switch(key)
 323   2                      {
 324   3                              //按对应数字键,反显数字,并记下线路序号.
 325   3                              case KEY_CODE_NUM1:
 326   3                              case KEY_CODE_NUM2:
 327   3                              case KEY_CODE_NUM3:
 328   3                              case KEY_CODE_NUM4:
 329   3                              case KEY_CODE_NUM5:
 330   3                              case KEY_CODE_NUM6:
 331   3                              case KEY_CODE_NUM7:
 332   3                              case KEY_CODE_NUM8:
 333   3                                      menu_line();    //显示线路选择界面
 334   3                                      if(key<5)
 335   3                                              menu_display_char(0,key-1,key+'0',1);
 336   3                                      else  
 337   3                                              menu_display_char(8,key-5,key+'0',1);
 338   3                                      tmp_line=key-1;
 339   3                              break;
 340   3      
 341   3                              case KEY_CODE_ESC:
 342   3                                      return;
 343   3                              break;
 344   3      
 345   3                              case KEY_CODE_ENTER:
 346   3                                      if(tmp_line>7) return;  
 347   3                                      if(     cur_menu_status==11)
 348   3                                      {
 349   4                                              process_direction();       //显示上下行选择界面
 350   4                                      }
 351   3                                      else if(cur_menu_status==13)
 352   3                                      {
 353   4                                              process_direction();       //显示上下行选择界面
 354   4                                      }
 355   3                                      else if(cur_menu_status==14)
 356   3                                      {
 357   4                                              process_upgps();
 358   4                                              
 359   4      
 360   4                                      }
 361   3                                      menu_line();    //显示线路选择界面
 362   3                                      tmp_line=0xff; 
 363   3                              break;
C51 COMPILER V7.09   GPS_COLLECT                                                           09/25/2008 11:56:21 PAGE 7   

 364   3      
 365   3                              case KEY_CODE_FUNC:
 366   3                                      if(tmp_line>7)break;  
 367   3                                      if(     cur_menu_status==11)
 368   3                                      {
 369   4                                              process_inputline();
 370   4                                              menu_line();     //显示菜单界面
 371   4                                              tmp_line=0xff; 
 372   4                                      }
 373   3                              break;
 374   3                              default:
 375   3                              
 376   3                              break;
 377   3                      }
 378   2      
 379   2              }
 380   1      }
 381          //main函数调用,显示菜单界面,按1,2,3,4键有效,按取消或确定键退出
 382          void main_process(void)
 383          {
 384   1              unsigned char key;
 385   1              menu_fun();      //显示菜单界面
 386   1              while(1)
 387   1              {
 388   2                      key=get_key();
 389   2                      switch(key)
 390   2                      {
 391   3                              case KEY_CODE_NUM1:
 392   3                                      cur_menu_status=11;
 393   3                                      process_line();         //线路选择处理函数
 394   3                                      menu_fun();      //显示菜单界面
 395   3                                      cur_menu_status=1;
 396   3                              break;
 397   3                              case KEY_CODE_NUM2:
 398   3                              //      if(gps_8line[cur_line].gps_counter_up==6000)
 399   3                                      gps_receive_flg=!gps_receive_flg;
 400   3                                      menu_fun();      //显示菜单界面
 401   3                              break;
 402   3                              case KEY_CODE_NUM3:
 403   3                                      cur_menu_status=13;
 404   3                                      process_line();         //线路选择处理函数
 405   3                                      menu_fun();      //显示菜单界面
 406   3                                      cur_menu_status=1;
 407   3                              
 408   3                              break;
 409   3                              case KEY_CODE_NUM4:
 410   3                                      cur_menu_status=14;
 411   3                                      process_line();         //线路选择处理函数
 412   3                                      menu_fun();      //显示菜单界面
 413   3                                      cur_menu_status=1;
 414   3                              
 415   3                              break;
 416   3      
 417   3                              case KEY_CODE_ESC:
 418   3                              case KEY_CODE_ENTER:
 419   3                                      return;
 420   3                              break;
 421   3      
 422   3                              default:
 423   3                              
 424   3                              break;
 425   3                      }
C51 COMPILER V7.09   GPS_COLLECT                                                           09/25/2008 11:56:21 PAGE 8   

 426   2      
 427   2              }
 428   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2701    ----
   CONSTANT SIZE    =     12    ----
   XDATA SIZE       =    538      43
   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 + -