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

📄 rmcon.lst

📁 dvr
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   RMCON                                                                 12/14/2005 10:05:35 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE RMCON
OBJECT MODULE PLACED IN .\OBJ\rmcon.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE rmcon.c LARGE OPTIMIZE(9,SIZE) BROWSE PRINT(.\LST\rmcon.lst) OBJECT(.\OBJ\r
                    -mcon.obj)

line level    source

   1          //==========================================================
   2          //
   3          // Filename: RMCON.C
   4          //
   5          // Description: For receiving the remote control input values
   6          //              through the UART 0
   7          //
   8          //==========================================================
   9          
  10          #include "types.h"
  11          #include "8052reg.h"
  12          #include <stdio.h>
  13          #include "sio.h"
  14          #include "rmcon.h"
  15          #include "eprom.h"
  16          #include "gosd.h"
  17          #include "gio.h"
  18          #include "lib.h"
  19          
  20          
  21          /*
  22                   X_FFAST        0x00 @
  23                   X_CH1          0x01 A
  24                   X_CH2          0x02 B
  25                   X_CH3          0x03 C
  26                   X_CH4          0x04 D
  27                   X_CHALL        0x05 E
  28                   X_REC          0x06 F
  29                   X_RFAST        0x07 G
  30                   X_STOP         0x08 H
  31                   X_PAUSE        0x09 I
  32                   X_REZ01        0x0a J
  33                   X_PLAY         0x0b K
  34                   X_MENU         0x0c L
  35                   X_UPRT         0x0d M
  36                   X_DNLT         0x0e N
  37                   X_SELECT       0x0f O
  38          */
  39          
  40          #ifdef DISPLAY_IP_ADDRESS
              ///////////  RX & display  //////////
              xdata u8 gv_rm_IPC_RX_flag  = 0;//0:no act, 1:RX start,send response 2:wait recieve
              xdata u8 gv_rm_IPC_RX_cnt   = 0;// 0:IP Address, 1:SumMask, 2:Gateway, 3:DNS
              xdata u8 gv_rm_IPC_flag     = 0;
              xdata u8 gv_rm_IPC_cnt      = 0;
              ///////////  TX  ////////////////////
              xdata u8 gv_IPC_TX_flag     = 0;//0:no act,
                                              //1:send start char,wait response,
                                              //2:TX start,
                                              //3:TX ok,wait gs501 response,
                                              //XX4:check sum,wait response.
              xdata u8 gv_IPC_TX_cnt      = 0;
              xdata u8 gv_IPC_TX_cnt01    = 0;
              xdata u8 gv_IPC_TX_cnt02    = 0;
C51 COMPILER V7.50   RMCON                                                                 12/14/2005 10:05:35 PAGE 2   

              //xdata u8 gv_IPC_TX_checksum = 0;
              /////////////////////////////////////
              xdata u8 gv_IPC_Change_flag = 0;
              
              extern xdata u8 gv_depth_3_menu;
              
              #endif
  62          
  63          #ifdef RE_CON
  64          xdata u8 gv_rm_key = 0x00;
  65          xdata u8 gv_rm_key_flag = 0x00;
  66          
  67          //===========================================================
  68          //
  69          //===========================================================
  70          void rmcon_process(void)
  71          {
  72   1              xdata u8 size;
  73   1              xdata u8 ch = 0;
  74   1      #ifdef DISPLAY_IP_ADDRESS
                      xdata u8 strbuf[10];
              #endif
  77   1      
  78   1              size = sio_rbuflen();
  79   1              if(size!=0)
  80   1              {
  81   2                      ch = sio_getchar();
  82   2                      if((ch & 0xF0)==0xE0) // remote control key value
  83   2                      {
  84   3                              rmcon_sendkey( ch );
  85   3                      }
  86   2      #ifdef DISPLAY_IP_ADDRESS
                              else if((ch & 0xF0)==0xD0 && gv_rm_IPC_RX_flag == 1) // remote control IP protocal value
                              {//recieve address
                                      if(gv_rm_IPC_flag % 2)
                                      {
                                              switch(gv_rm_IPC_RX_cnt)
                                              {
                                                      case 0:
                                                            Val_EPROM_rm_IP[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
                                                            break;
                                                      case 1:
                                                            Val_EPROM_rm_SumMask[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
                                                            break;
                                                      case 2:
                                                            Val_EPROM_rm_Gateway[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
                                                            break;
                                                      case 3:
                                                            Val_EPROM_rm_DNS[gv_rm_IPC_cnt]= (ch<<4) & 0xF0 ;
                                                            break;
                                              }
                                      }
                                      else
                                      {
                                              switch(gv_rm_IPC_RX_cnt)
                                              {
                                                      case 0:
                                                            Val_EPROM_rm_IP[gv_rm_IPC_cnt] |= (ch & 0x0F);
                                                            break;
                                                      case 1:
                                                            Val_EPROM_rm_SumMask[gv_rm_IPC_cnt] |= (ch & 0x0F);
                                                            break;
C51 COMPILER V7.50   RMCON                                                                 12/14/2005 10:05:35 PAGE 3   

                                                      case 2:
                                                            Val_EPROM_rm_Gateway[gv_rm_IPC_cnt] |= (ch & 0x0F);
                                                            break;
                                                      case 3:
                                                            Val_EPROM_rm_DNS[gv_rm_IPC_cnt] |= (ch & 0x0F);
                                                            break;
                                              }
                                              gv_rm_IPC_cnt++;
                                      }
                                      gv_rm_IPC_flag++;
                                      if(gv_rm_IPC_flag == 9)
                                      {
                                              gv_rm_IPC_RX_cnt++;
                                              gv_rm_IPC_flag = 1;
                                              gv_rm_IPC_cnt = 0;
                                              if(gv_rm_IPC_RX_cnt == 4)//recieve lan address ok,then wait 0xcb
                                              {
                                                      gv_rm_IPC_RX_flag = 2;
                                              }
                                      }
                              }
                              else if(ch == 0xCB && gv_rm_IPC_RX_flag == 2)//recieve finished
                              {
                                      r_timeout = 0;
                                      sio_putchar( 0xBC );//send to gs501 for response recieve ok
                                      gv_rm_IPC_RX_cnt = 0;// 0:IP Address, 1:SumMask, 2:Gateway, 3:DNS
                                      gv_rm_IPC_RX_flag = 0;//0:no act, 1:RX start,send response 2:wait recieve
                                      EPROM_Write_IP_Address();
                                      gv_IPC_Change_flag |= 0x10;//LAN IP changed
                                      Val_gv_show_rm_IP |= 0x80;//refresh ip address in monitor
                              }

⌨️ 快捷键说明

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