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

📄 setscr.cpp

📁 许继的2812开发全套驱动程序,很全很实用的.rar
💻 CPP
📖 第 1 页 / 共 5 页
字号:

  GetString_FromFloat(Float_HVoltage[Battery_No],0,String[1]);

  GetString_FromFloat(Float_LVoltage[Battery_No],0,String[2]);

  GetString_FromFloat(DisCharge_LVoltage[Battery_No],0,String[3]);

  GetString_FromFloat(DCBus_HVoltage[Battery_No],0,String[4]);

  GetString_FromFloat(DCBus_LVoltage[Battery_No],0,String[5]);

  GetString_FromFloat(ACPower_HVoltage[Battery_No],0,String[6]);

  GetString_FromFloat(ACPower_LVoltage[Battery_No],0,String[7]);

  for(i=0;i<8;i++)
  {
    strcat(String[4],"V");
    Display_String(96,48+i*24,String[i],0);
  }
}
//------------------通讯参数设置----------------
void Set_ComPortPara(uCHAR KeyCode)
{
  uINT i=0;
  uCHAR bFlag=0;
  char TempString[32];
  char String[9][32]={"串口1:   ","串口2:   ","串口3:   ","串口4:   ","串口5:   ",
                        "串口6:   ","串口7:   ","通讯规约:","本机地址:"};
  char TempRate[5][32]={"1200bps","2400bps","4800bps","9600bps","19200bps"};
  char Protocy_String[3][32]={"XJ规约","MODBUS规约","CDT规约"};
  //------------------每次进入新菜单时都要将Key_MenuItem置0------------------
  if(Key_MenuItem==0)//键盘输入框不可见
  {
    //-------------------键嘛值从21-35----------------------
    if((KeyCode<=52)&&(KeyCode>=44))
    {
      //---------------------显示键盘输入框-----------------------
      Display_KeyFrame(0);
      if((KeyCode<=51)&&(KeyCode>=44))
      {
        strcpy(TempString,"请选择");
        strcat(TempString,String[KeyCode-44]);
        strcat(TempString,"波特率");
      }
      else
      {
        strcpy(TempString,"请输入");
        strcat(TempString,String[KeyCode-44]);
      }
      Display_String(32,112,TempString,0);
      Current_EditItem=KeyCode-44;
      switch(Current_EditItem)
      {
        case 0: //电池了行
        case 1: //电池了行
        case 2: //电池了行
        case 3: //电池了行
        case 4: //电池了行
        case 5: //电池了行
        case 6: //电池了行
        {
          Init_SelectText(ValueSelect[0],32,128,5,BaudRate[Current_EditItem],1);
          for(i=0;i<5;i++)
            strcpy(ValueSelect[0]->TempString[i],TempRate[i]);
          Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,ValueSelect[0]->TempString[BaudRate[Current_EditItem]],1);
          break;
        }
        case 7: //电池只数        Protocy_String
        {
          Init_SelectText(ValueSelect[0],32,128,3,Protocol_Type,1);
          for(i=0;i<3;i++)
            strcpy(ValueSelect[0]->TempString[i],Protocy_String[i]);
          Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,ValueSelect[0]->TempString[Protocol_Type],1);
          break;
        }
        case 8: //电池容量       Protocy_String
        {
          Init_EditText(ValueEdit[0],32,128,2,0,1,99,0);
          GetString_FromInt(System_Address,TempString);
          strcpy(ValueEdit[0]->TempString,TempString);//去掉单位
          strcat(TempString,"D");
          Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
          break;
        }
      }
      Key_MenuItem=1;
    }
  }
  else
  {
    if((KeyCode<=18))
    {
      switch(Current_EditItem)
      {
        case 0: //电池了行
        case 1: //电池了行
        case 2: //电池了行
        case 3: //电池了行
        case 4: //电池了行
        case 5: //电池了行
        case 6: //电池了行
        {
          if(SelectDeal(KeyCode,ValueSelect[0],0))
          {
            if(BaudRate[Current_EditItem]!=ValueSelect[0]->Current_Index)
            {
              BaudRate[Current_EditItem]=ValueSelect[0]->Current_Index;
              //GetString_FromInt(BaudRate[Current_EditItem],TempString);
              //Write_Config(15+Current_EditItem,TempString);
            }
            bFlag=1;
          }
          break;
        }
        case 7: //电池只数        Protocy_String
        {
          if(SelectDeal(KeyCode,ValueSelect[0],0))
          {
            if(Protocol_Type!=ValueSelect[0]->Current_Index)
            {
               Protocol_Type=ValueSelect[0]->Current_Index;
               //GetString_FromInt(Protocol_Type,TempString);
               //Write_Config(14,TempString);
            }
            bFlag=1;
          }
          break;
        }
        case 8: //电池容量       Protocy_String
        {
          if(InputDeal(KeyCode,ValueEdit[0],0)==1)
          {
            System_Address=Get_IntFromString(ValueEdit[0]->TempString);
            bFlag=1;
            //Write_Config(13,ValueEdit[0]->TempString);
          }
          else if(InputDeal(KeyCode,ValueEdit[0],0)==2)
          {
            GetString_FromInt(System_Address,TempString);
            strcpy(ValueEdit[0]->TempString,TempString);//去掉单位
            strcat(TempString,"D");
            Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
          }
          break;
        }
      }
    }
    else if(KeyCode==20)
    {
      bFlag=1;
    }
    if(bFlag==1)
    {
      Display_ComPortPara(1);
      Key_MenuItem=0;
    }
  }
}
//-----------------------------------------------------------------
void Display_ComPortPara(uCHAR Is_Refresh)
{
  uINT i=0;
 // char TempString[32];
  char String[9][32]={"串口1:   ","串口2:   ","串口3:   ","串口4:   ","串口5:   ",
                        "串口6:   ","串口7:   ","通讯规约:","本机地址:"};
  char TempRate[5][32]={"1200bps","2400bps","4800bps","9600bps","19200bps"};
  char Protocy_String[3][32]={"XJ规约","MODBUS规约","CDT规约"};
  if(Is_Refresh==0)
  {
    Clear_Lcd();
    DisPlay_TopLabel(1);  //由于每页都有时间显示 时间在主循环中显示
    DisPlay_StartView(1);//1为返回, 0为开始
  }
  for(i=0;i<9;i++)
    Display_String(8,48+i*16,String[i],0);

  for(i=0;i<7;i++)
    strcpy(String[i],TempRate[BaudRate[i]]);

  strcpy(String[7],Protocy_String[Protocol_Type]);

  GetString_FromInt(System_Address,String[8]);

   for(i=0;i<9;i++)
    Display_String(80,48+i*16,String[i],0);
}
//--------------校时和口令修改参数设置--------------------
void Set_TimePara(uCHAR KeyCode)
{
 // uINT i=0;
  uCHAR bFlag=0;
  char TempString[32];
  char String[6][32]={"年:","月:","日:","时:","分:","秒:"};
  //------------------每次进入新菜单时都要将Key_MenuItem置0------------------
  if(Key_MenuItem==0)//键盘输入框不可见
  {
    //-------------------键嘛值从53-61----------------------
    if((KeyCode<=58)&&(KeyCode>=53))
    {
      //---------------------显示键盘输入框-----------------------
      Display_KeyFrame(0); //
      strcpy(TempString,"请输入");
      strcat(TempString,String[KeyCode-53]);
      Display_String(32,112,TempString,0);
      Current_EditItem=KeyCode-53;
      switch(Current_EditItem)
      {
        case 0: //
        {
          Init_EditText(ValueEdit[0],32,128,4,0,1,2050,2000);
          GetString_FromInt(SYSDATETIME[0],TempString);
          break;
        }
        case 1: //
        {
          Init_EditText(ValueEdit[0],32,128,2,0,1,12,1);
          GetString_FromInt(SYSDATETIME[1],TempString);
          break;
        }
        case 2: //
        {
          Init_EditText(ValueEdit[0],32,128,2,0,1,31,1);
          GetString_FromInt(SYSDATETIME[2],TempString);
          break;
        }
        case 3: //
        {
          Init_EditText(ValueEdit[0],32,128,2,0,1,23,0);
          GetString_FromInt(SYSDATETIME[3],TempString);
          break;
        }
        case 4: //
        {
          Init_EditText(ValueEdit[0],32,128,2,0,1,59,0);
          GetString_FromInt(SYSDATETIME[4],TempString);
          break;
        }
        case 5: //
        {
          Init_EditText(ValueEdit[0],32,128,4,0,1,59,0);
          GetString_FromInt(SYSDATETIME[5],TempString);
          break;
        }
      }
      strcpy(ValueEdit[0]->TempString,TempString);
      Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
      Key_MenuItem=1;
    }
  }
  else
  {
    if((KeyCode<=18))
    {
      switch(Current_EditItem)
      {
        case 0: //
        case 1: //
        case 2: //
        case 3: //
        case 4: //
        case 5: //
        {
          if(InputDeal(KeyCode,ValueEdit[0],0)==1)
          {
            SYSDATETIME[Current_EditItem]=Get_IntFromString(ValueEdit[0]->TempString);
            bFlag=1;
          }
          else if(InputDeal(KeyCode,ValueEdit[0],0)==2)
          {
            GetString_FromInt(SYSDATETIME[Current_EditItem],TempString);
            Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
          }
          break;
        }
      }
    }
    else if(KeyCode==20)
    {
      bFlag=1;
    }
    if(bFlag==1)
    {
      Display_TimePara(1);
      Key_MenuItem=0;
    }
  }
}
//--------------报警参数设置--------------------------
void Display_TimePara(uCHAR Is_Refresh)
{
  uINT i=0;
  char TempString[32];
  char TimeString[6][32]={"年:","月:","日:","时:","分:","秒:"};
  if(Is_Refresh==0)
  {
    Clear_Lcd();
    DisPlay_TopLabel(1);  //由于每页都有时间显示 时间在主循环中显示
    DisPlay_StartView(1);//1为返回, 0为开始
  }
  strcpy(TempString,"系统校时");
  Display_String(88,80,TempString,0);

  for(i=0;i<6;i++)
  {
    GetString_FromInt(SYSDATETIME[i],TempString);
    strcat(TimeString[i],TempString);
    Display_String(8,64+(i%3)*24,TimeString[i],0);
  }
}
//--------------口令修改参数设置--------------------
void Set_PasswordPara(uCHAR KeyCode)
{
  uINT i=0;
  uCHAR bFlag=0;
  char TempString[32];
  char String[3][32]={"旧口令:","新口令:","确认新口令:"};
  //------------------每次进入新菜单时都要将Key_MenuItem置0------------------
  if(Key_MenuItem==0)//键盘输入框不可见
  {
    //-------------------键嘛值从53-61----------------------
    if((KeyCode<=61)&&(KeyCode>=59))
    {
      //---------------------显示键盘输入框-----------------------
      Display_KeyFrame(0); //
      strcpy(TempString,"请输入");
      strcat(TempString,String[KeyCode-59]);
      Display_String(32,112,TempString,0);
      Current_EditItem=KeyCode-59;
      switch(Current_EditItem)
      {
        case 0: //
        {
          Init_EditText(ValueEdit[0],32,128,7,0,1,59,0);
          strcpy(TempString,"       ");
          break;
        }
        case 1: //
        {
          Init_EditText(ValueEdit[0],32,128,7,0,1,59,0);
          strcpy(TempString,"       ");
          break;
        }
        case 2: //
        {
          Init_EditText(ValueEdit[0],32,128,7,0,1,59,0);
          strcpy(TempString,"       ");
          break;
        }
      }
      strcpy(ValueEdit[0]->TempString,TempString);
      Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
      Key_MenuItem=1;
    }
  }
  else
  {
    if((KeyCode<=18))
    {
      switch(Current_EditItem)
      {
        case 0: //
        {
          if(PassInput_Error)
          {
            strcpy(TempString,"请输入旧口令:");
            Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY-16,TempString,0);
            PassInput_Error=0;
          }
          if(InputDeal(KeyCode,ValueEdit[0],2))
          {
            if(strcmp(ValueEdit[0]->TempString,Custom_PassWord)==0)
            {
              Modify_PassWord=1;
              bFlag=1;
            }
            else
            {
               strcpy(TempString,"旧口令输入错误!");
               Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY-16,TempString,0);
               PassInput_Error=1;

⌨️ 快捷键说明

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