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

📄 config.lst

📁 本程序是一个RS232转网口的。是一个透明传输的模块
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   CONFIG                                                                09/26/2008 13:36:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE CONFIG
OBJECT MODULE PLACED IN ..\OUT\Config.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Source\Config.C BROWSE DEBUG OBJECTEXTEND PRINT(..\OUT\Config.lst) OBJEC
                    -T(..\OUT\Config.obj)

stmt level    source

   1          /*
   2          *****************************************************************************************************
   3          *
   4          *  File name: config.c
   5          *****************************************************************************************************
   6          */
   7          #include "..\head\includes.h"
   8          
   9          
  10          
  11          /*
  12          *****************************************************************************************************
  13          *                        全局 
  14          *****************************************************************************************************
  15          */
  16          unsigned char code *code pBaudRate[7]   = {"1200","2400","4800","9600","19200","38400","57600"};
  17          unsigned char code *code pHeartTime[9]  = {"1","2","3","4","5","6","7","8","9"};
  18          unsigned char code *code pDhcpMode[2]   = {"手动配置模式",   "自动指派模式"};
  19                   char code *code pComcBit[3]    = {"None","Odd","Even"};
  20          unsigned int  code       vBaudRate[7]   = {1200,2400,4800,9600,19200,38400,57600};
  21          unsigned int  code       vHeartTime[9]  = {60,120,180,240,300,360,420,480,540};
  22          
  23          
  24          _FLASH_DATA_UNION_   xdata ConfigReg;
  25          unsigned char xdata *xdata ComparePtr=NULL;
  26          unsigned char xdata PingIpStr[16];
  27          unsigned char xdata ModelIdBak[ID_MAX_LEN+1];
  28          unsigned char xdata ComcBit=0;
  29          unsigned long xdata OnLineTime=0;       //连续在线时间
  30          unsigned int  xdata SentHeartTime=0;    //发送心跳包个数
  31          unsigned char DHCPMode = 255;           //大于0表示是DHCP模式,=0表示是手动分配模式
  32          bit ModelStatu;                         //配置态OR运行态
  33          
  34          /*
  35          *****************************************************************************************************
  36          *                        函数说明,作为函数指针用
  37          *****************************************************************************************************
  38          */
  39          
  40          
  41          
  42          /*
  43          *****************************************************************************************************
  44          *                   配置信息来源
  45          *****************************************************************************************************
  46          */
  47          #define END_CHAR_NUM  4
  48          #define UART_COM   0     //串口配置时,只保存字符串,不对字符串解析成HEX,DEC,须重启才有效 
  49          #define HTTP_COM   1     //WEB配置时,只保存字符串,不对字符串解析成HEX,DEC  须重启才有效
  50          #define READ_COM   2     //读出FALSH内容时对字符串的IP,MAC,PORT进行解析
  51          #define REMOTE_COM 3     //远程配置时,只保存字符串,不对字符串解析成HEX,DEC 须重启才有效
  52          char code EndChar[END_CHAR_NUM] ={'\r','&','\0','\r'}; //结束符
  53          
  54          
C51 COMPILER V7.06   CONFIG                                                                09/26/2008 13:36:16 PAGE 2   

  55          /*
  56          *****************************************************************************************************
  57          *FUNC: 这个配置表共被3个函数用到
  58          *NOTE:  1:NetConfigInit()  用到前7个,因为保存在FALSH的信息是字符串,MCU初始化时须对其化为HEX或十进制数
  59                  2:ParseUartCmd()   全部用到  解析串口来的数据
  60                          3:ParseHttpCmd()   用到前7个 解析HTTP WEB 来的数据      
  61          *****************************************************************************************************
  62          */
  63          typedef struct _config_item_
  64          {
  65              unsigned char *name;  
  66              unsigned char *string;                          //返回匹配的字符串
  67              unsigned char start;
  68              unsigned char (*exec_func)(unsigned char com);  //函数指针 ,com信息来源
  69          }_CONFIG_ITEM_;
  70          
  71          
  72          #define UART_CONFIG_NUM  16    //UART配置共有16个 
  73          #define UART_QUERY_START 11     //查询命令从第11条开始
  74          #define HTTP_CONFIG_NUM  11     //HTTP配置只有前11
  75          
  76          _CONFIG_ITEM_ code ConfigTable[UART_CONFIG_NUM] =
  77          {
  78              "本地网卡设置:\0"    , "WP-LOCALMAC="   , 12 ,(unsigned char*)Set_Local_Mac,
  79              "本地IP设置:\0"      , "WP-LOCALIP="    , 11 ,(unsigned char*)Set_Local_Ip, 
  80              "服务器IP设置:\0"    , "WP-SEVERIP="    , 11 ,(unsigned char*)Set_Sever_Ip,
  81              "服务器端口设置:\0"  , "WP-SEVERPORT="  , 13 ,(unsigned char*)Set_Sever_Port,
  82              "网关IP设置:\0"      , "WP-GATEWAYIP="  , 13 ,(unsigned char*)Set_Gateway_Ip,
  83              "子网掩码设置:\0"    , "WP-MASKIP="     , 10 ,(unsigned char*)Set_Mask_Ip,
  84                  "模块ID设置:\0"      , "WP-ID="         , 6  ,(unsigned char*)Set_Model_Id,
  85                  "波特率设置\0:"      , "WP-BAUD="       , 8  ,(unsigned char*)Set_BaudRate,
  86                  "心跳包时间(分钟):\0", "WP-OHRT="       , 8  ,(unsigned char*)Set_Heart_Time,
  87                  "IP分配模式:\0"      , "WP-DHCP="       , 8  ,(unsigned char*)Set_Dhcp_Mode,
  88                  "校验位设置:\0"      , "WP-COMC="       , 8  ,(unsigned char*)Set_Comc  ,
  89                                                                                             
  90              "PING IP设置:\0"     , "WP-PINGIP="     , 10 ,(unsigned char*)Set_Ping_Ip  ,
  91          
  92                  "日志查询:\0"        , "WP-LOG"         , 0  ,(unsigned char*)Query_Log  ,
  93                  "查询网络配置:\0"    , "WP-LIST"        , 0  ,(unsigned char*)Query_Net_Config  ,
  94                  ""                   , "WP-DEFAULT"     , 0  ,(unsigned char*)Config_Default,  //恢复出厂值并重启:
  95              ""                   , "WP-RESET"       , 0  ,(unsigned char*)Mcu_Restart      //模块复位重启:
  96          };
  97          
  98          /*
  99          *****************************************************************************************************
 100          *                        函数说明,作为函数指针用
 101          *****************************************************************************************************
 102          */
 103          #define CONFIG_PARSE_NUM  11    //存EEPROM参数共10个
 104          #define READ_PARSE_NUM    6     //需要解析的有几个,IP及端口号及MAC,就是要把
 105          
 106          #define ID_LOCALMAC  0
 107          #define ID_LOCALIP   1
 108          #define ID_SEVERIP   2
 109          #define ID_SEVERPORT 3
 110          #define ID_GETWAYIP  4
 111          #define ID_MASKIP    5
 112          
 113          #define ID_MODELID   6    //不须要转换
 114          #define ID_BAUDRATE  7    //不须要转换
 115          #define ID_HEARTTIME 8    //不须要转换
 116          #define ID_DHCPMODE  9    //不须要转换
C51 COMPILER V7.06   CONFIG                                                                09/26/2008 13:36:16 PAGE 3   

 117          #define ID_COMC      10   //不须要转换
 118          
 119          #define ID_PINGIP    CONFIG_PARSE_NUM
 120          #define ID_NETSTATU   12
 121          #define ID_NETCONFIG  13
 122          
 123          unsigned char xdata *xdata ConfigRegPtr[CONFIG_PARSE_NUM]=     //用来拷贝配置来的字符串信息
 124          {
 125              ConfigReg.reg.LocalMacStr,    //本地网卡地址
 126              ConfigReg.reg.LocalIpStr,     //本地IP
 127                  ConfigReg.reg.SeverIpStr,     //服务器IP
 128              ConfigReg.reg.SeverPortStr,   //服务器端口
 129              ConfigReg.reg.GetwayIpStr,    //网关IP
 130              ConfigReg.reg.MaskIpStr  ,    //子网掩码
 131          
 132                  ConfigReg.reg.ModelIdStr,     //ID 号
 133              ConfigReg.reg.BautRateStr,    //波特率
 134              ConfigReg.reg.HeartTimeStr,   //心跳包间隔时间
 135                  ConfigReg.reg.DhcpModeStr,    //DHCP模式是否开启
 136                  ConfigReg.reg.WPCOMC              //串口校验位
 137          };
 138          
 139          
 140          /*
 141          *****************************************************************************************************
 142          *FUNC:  参数出厂值
 143          *NOTE:  
 144          *****************************************************************************************************
 145          */
 146          void ParameterInit(unsigned char type) reentrant
 147          {
 148   1           
 149   1              sprintf(ConfigReg.reg.LocalIpStr,  "192.168.0.99\0"); 
 150   1              sprintf(ConfigReg.reg.SeverIpStr,  "192.168.0.244\0"); 
 151   1              sprintf(ConfigReg.reg.SeverPortStr,"8601\0"); 
 152   1              sprintf(ConfigReg.reg.GetwayIpStr, "192.168.0.254\0"); 
 153   1              sprintf(ConfigReg.reg.MaskIpStr,   "255.255.255.0\0");
 154   1          sprintf(ConfigReg.reg.ModelIdStr,  "90201234\0");
 155   1              sprintf(ConfigReg.reg.BautRateStr, "4\0");        //9600
 156   1              sprintf(ConfigReg.reg.HeartTimeStr,"2\0");        //2分钟
 157   1              sprintf(ConfigReg.reg.WPCOMC,"0");                    //0: 配置传输校验位,=0为无,=1为奇,=2为偶 */
 158   1              
 159   1              if (type == 1) {                    //本地配置软件出厂值重起,不改变MAC地址 
 160   2              sprintf(ConfigReg.reg.DhcpModeStr, "1\0");
 161   2              } else if (type == 20) {            //利用IO控制参数恢复出厂值时,IP为手动分配,不改变网卡地址
 162   2              sprintf(ConfigReg.reg.DhcpModeStr, "0\0"); 
 163   2              } else {                            //初次写FLASH,默认开启自动分配,要改变网卡地址
 164   2              sprintf(ConfigReg.reg.DhcpModeStr, "1\0"); 
 165   2              sprintf(ConfigReg.reg.LocalMacStr, "00ABCDEF0001\0"); 
 166   2              }        
 167   1      }
 168          
 169          /*
 170          *****************************************************************************************************
 171          *FUNC: 配置初始化, 存在FALSH的是字符串信息,初始化时要化为相应的HEX或十进制数
 172          *NOTE:  1:先读出FALSH内容,判断FirstRun是否被修改,
 173                  2:已修改说明已配置过,对读出的字符串配置信息化为相应的HEX或十进制数
 174                          3:如果FirstRun未被修改,说明是第一次读FALSH,先要进行参数出厂值
 175          
 176          *****************************************************************************************************
 177          */
 178          #define FIRST_RUN_VALUE   101
C51 COMPILER V7.06   CONFIG                                                                09/26/2008 13:36:16 PAGE 4   

 179          void NetConfigInit(void)reentrant

⌨️ 快捷键说明

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