📄 setscr.cpp
字号:
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 + -