📄 setscr.cpp
字号:
DisPlay_TopLabel(1); //由于每页都有时间显示 时间在主循环中显示
DisPlay_StartView(1);//1为返回, 0为开始
}
strcat(String[0],TempSelect[0]);
strcat(String[1],TempSelect[0]);
strcat(String[2],TempSelect[0]);
for(i=0;i<3;i++)
{
Display_String(8,64+i*24,String[i],0);
}
}
//--------------控制参数设置--------------------
void Set_ControlPara(uCHAR KeyCode,uCHAR RectNo)
{
uINT i=0;
uCHAR bFlag=0;
sFLOAT TempFloat=220.0;
char TempString[32];
char String[7][32]={"系统运行方式:","模块控制方式:","浮充电压设定值:",
"上电电压值:","上电电流值:","安全电压值:","安全电流值"};
char ControlSelect[2][32]={"手动","自动"};
char ModuleSelect[4][32]={"浮充","均充","关机","开机"};
if(System_Voltage==0)
TempFloat=220.0;
else if(System_Voltage==0)
TempFloat=110.0;
else if(System_Voltage==0)
TempFloat=48.0;
else
TempFloat=24.0;
//------------------每次进入新菜单时都要将Key_MenuItem置0------------------
if(Key_MenuItem==0)//键盘输入框不可见
{
//-------------------键嘛值从53-61----------------------
if((KeyCode<=76)&&(KeyCode>=70))
{
//---------------------显示键盘输入框-----------------------
Display_KeyFrame(0); //
if((KeyCode==70)||(KeyCode==71))
{
strcpy(TempString,"请选择");
strcat(TempString,String[KeyCode-70]);
Current_EditItem=KeyCode-70;
}
else
{
strcpy(TempString,"请输入");
strcat(TempString,String[KeyCode-70]);
Current_EditItem=KeyCode-70;
}
Display_String(32,112,TempString,0);
switch(Current_EditItem)
{
case 0: //
{
Init_SelectText(ValueSelect[0],32,128,2,0,1);
for(i=0;i<2;i++)
strcpy(ValueSelect[0]->TempString[i],ControlSelect[i]);
strcpy(TempString,ValueSelect[0]->TempString[Auto_Control[RectNo]]);
Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,TempString,0);
break;
}
case 1: //
{
Init_SelectText(ValueSelect[0],32,128,4,0,1);
for(i=0;i<4;i++)
strcpy(ValueSelect[0]->TempString[i],ModuleSelect[i]);
strcpy(TempString,ValueSelect[0]->TempString[Work_Mode[RectNo]]);
Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,TempString,0);
break;
}
case 2: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
GetString_FromFloat(Float_SetVoltage[RectNo],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 3: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
GetString_FromFloat(Float_SetVoltage[RectNo],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 4: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,0.25*Full_Capacity[RectNo],0.08*Full_Capacity[RectNo]);
GetString_FromFloat(Current_SetVoltage[RectNo],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 5: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
GetString_FromFloat(Float_SetVoltage[RectNo],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 6: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,0.25*Full_Capacity[RectNo],0.08*Full_Capacity[RectNo]);
GetString_FromFloat(Current_SetVoltage[RectNo],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
}
Key_MenuItem=1;
}
}
else
{
if((KeyCode<=18))
{
switch(Current_EditItem)
{
case 0: //
{
if(SelectDeal(KeyCode,ValueSelect[0],0))
{
if(Auto_Control[RectNo]!=ValueSelect[0]->Current_Index)
Auto_Control[RectNo]=ValueSelect[0]->Current_Index;
//GetString_FromInt(Auto_Control[RectNo],TempString);
//Write_Config(343+RectNo,TempString);
bFlag=1;
}
break;
}
case 1: //
{
if(SelectDeal(KeyCode,ValueSelect[0],0))
{
if(ValueSelect[0]->Current_Index<2)
{
if(Work_Mode[RectNo]!=ValueSelect[0]->Current_Index)
Work_Mode[RectNo]=ValueSelect[0]->Current_Index;
//GetString_FromInt(Work_Mode[RectNo],TempString);
}
else
{
Set_OnOff(ValueSelect[0]->Current_Index-2,RectNo);
}
bFlag=1;
}
break;
}
case 2: //
{
if(InputDeal(KeyCode,ValueEdit[0],1)==1)
{
TempFloat=Get_FloatFromString(ValueEdit[0]->TempString);
Set_AnalogOut_Value(TempFloat,RectNo,0);
bFlag=1;
}
else if(InputDeal(KeyCode,ValueEdit[0],1)==2)
{
GetString_FromFloat(Float_SetVoltage[RectNo],0,TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
}
break;
}
case 3: //
{
if(InputDeal(KeyCode,ValueEdit[0],1)==1)
{
Float_SetVoltage[RectNo]=Get_FloatFromString(ValueEdit[0]->TempString);
Change_Voltage(Float_SetVoltage[RectNo],RectNo,0);
Set_AnalogType(RectNo,3);
bFlag=1;
}
else if(InputDeal(KeyCode,ValueEdit[0],1)==2)
{
GetString_FromFloat(Float_SetVoltage[RectNo],0,TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
}
break;
}
case 4: //
{
if(InputDeal(KeyCode,ValueEdit[0],1)==1)
{
TempFloat=Get_FloatFromString(ValueEdit[0]->TempString);
Set_AnalogOut_Value(TempFloat,RectNo,1);
Set_AnalogType(RectNo,3);
bFlag=1;
}
else if(InputDeal(KeyCode,ValueEdit[0],1)==2)
{
GetString_FromFloat(Current_SetVoltage[RectNo],0,TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
}
break;
}
case 5: //
{
if(InputDeal(KeyCode,ValueEdit[0],1))
{
Float_SetVoltage[RectNo]=Get_FloatFromString(ValueEdit[0]->TempString);
Change_Voltage(Float_SetVoltage[RectNo],RectNo,0);
Set_AnalogType(RectNo,4);
bFlag=1;
}
else if(InputDeal(KeyCode,ValueEdit[0],1)==2)
{
GetString_FromFloat(Float_SetVoltage[RectNo],0,TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
}
break;
}
case 6: //
{
if(InputDeal(KeyCode,ValueEdit[0],1))
{
TempFloat=Get_FloatFromString(ValueEdit[0]->TempString);
Set_AnalogOut_Value(TempFloat,RectNo,1);
Set_AnalogType(RectNo,4);
bFlag=1;
}
else if(InputDeal(KeyCode,ValueEdit[0],1)==2)
{
GetString_FromFloat(Current_SetVoltage[RectNo],0,TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,TempString,0);
}
break;
}
}
}
else if(KeyCode==20)
{
bFlag=1;
}
if(bFlag==1)
{
Display_ControlPara(RectNo,1);
Key_MenuItem=0;
}
}
}
//--------------报警参数设置1--------------------------
void Display_ControlPara(uCHAR Rect_No,uCHAR Is_Refresh)
{
uINT i=0;
char TempString[7][32];
char String[7][32]={"系统运行方式:","模块控制方式:","浮充电压设定值:",
"上电电压值:","上电电流值:","安全电压值:","安全电流值"};
char NameStirng[3][16]={"模块控制","1号模块控制","2号模块控制"};
char ControlSelect[2][32]={"手动","自动"};
char ModuleSelect[4][32]={"浮充","均充","关机","开机"};
if(Is_Refresh==0)
{
Clear_Lcd();
DisPlay_TopLabel(1); //由于每页都有时间显示 时间在主循环中显示
DisPlay_StartView(1);//1为返回, 0为开始
}
//---------------显示选择标签------------------------
if(Rectifier_Count==1)
{
if(Is_TwoDisplay<3)
Display_String(8,48,NameStirng[Is_TwoDisplay],1);
//画外框
}
else if(Rectifier_Count==2)
{
for(i=0;i<2;i++)
{
if(i==Rect_No)
Display_String(8+i*16,48,NameStirng[i+1],1);
else
Display_String(8+i*16,48,NameStirng[i+1],0);
}
//画外框
}
strcpy(TempString[0],ControlSelect[Auto_Control[Rect_No]]);
strcpy(TempString[1],ModuleSelect[Work_Mode[Rect_No]]);
GetString_FromFloat(Float_SetVoltage[Rect_No],0,TempString[2]);
GetString_FromFloat(Float_SetVoltage[Rect_No],0,TempString[3]);
GetString_FromFloat(Current_SetVoltage[Rect_No],0,TempString[4]);
GetString_FromFloat(Float_SetVoltage[Rect_No],0,TempString[5]);
GetString_FromFloat(Current_SetVoltage[Rect_No],0,TempString[6]);
for(i=0;i<7;i++)
{
if(i<3)
Display_String(8,64+i*24,String[i],0);
else
Display_String(8,160+i*24,String[i],0);
}
if(Work_Mode[Rect_No]==1)
strcpy(TempString[3],"均充电压设定值:");
Display_String(8,64+i*24,TempString[i+1],0);
//------------------------------------------
strcpy(TempString[3],"运行保护参数");
Display_String(8,128,TempString[3],0);
}
//--------------控制参数设置--------------------
void Set_TwoPara(uCHAR KeyCode,uCHAR RectNo)
{
uINT i=0;
uCHAR bFlag=0;
sFLOAT TempFloat=220.0;
char TempString[32];
char String[7][32]={"系统运行方式:","模块控制方式:","浮充电压设定值:",
"上电电压值:","上电电流值:","安全电压值:","安全电流值"};
char ControlSelect[2][32]={"手动","自动"};
char ModuleSelect[4][32]={"浮充","均充","关机","开机"};
if(System_Voltage==0)
TempFloat=220.0;
else if(System_Voltage==0)
TempFloat=110.0;
else if(System_Voltage==0)
TempFloat=48.0;
else
TempFloat=24.0;
//------------------每次进入新菜单时都要将Key_MenuItem置0------------------
if(Key_MenuItem==0)//键盘输入框不可见
{
//-------------------键嘛值从53-61----------------------
if((KeyCode<=76)&&(KeyCode>=70))
{
//---------------------显示键盘输入框-----------------------
Display_KeyFrame(0); //
if((KeyCode==70)||(KeyCode==71))
{
strcpy(TempString,"请选择");
strcat(TempString,String[KeyCode-70]);
Current_EditItem=KeyCode-70;
}
else
{
strcpy(TempString,"请输入");
strcat(TempString,String[KeyCode-70]);
Current_EditItem=KeyCode-70;
}
Display_String(32,112,TempString,0);
switch(Current_EditItem)
{
case 0: //
{
Init_SelectText(ValueSelect[0],32,128,2,0,1);
for(i=0;i<2;i++)
strcpy(ValueSelect[0]->TempString[i],ControlSelect[i]);
strcpy(TempString,ValueSelect[0]->TempString[Auto_Control[0]]);
Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,TempString,0);
break;
}
case 1: //
{
Init_SelectText(ValueSelect[0],32,128,4,0,1);
for(i=0;i<4;i++)
strcpy(ValueSelect[0]->TempString[i],ModuleSelect[i]);
strcpy(TempString,ValueSelect[0]->TempString[Work_Mode[RectNo]]);
Display_String(ValueSelect[0]->StartX,ValueSelect[0]->StartY,TempString,0);
break;
}
case 2: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
GetString_FromFloat(Float_SetVoltage[0],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 3: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
GetString_FromFloat(Float_SetVoltage[0],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 4: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,0.25*Full_Capacity[0],0.08*Full_Capacity[0]);
GetString_FromFloat(Current_SetVoltage[0],0,ValueEdit[0]->TempString);
Display_String(ValueEdit[0]->StartX,ValueEdit[0]->StartY,ValueEdit[0]->TempString,0);
break;
}
case 5: //
{
Init_EditText(ValueEdit[0],32,128,4,0,1,1.3*TempFloat,0.8*TempFloat);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -