📄 drv_lamp.c
字号:
/*
case Minus_60V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
IO0CLR=DQ__P0_07; //set DQ on
StateValue = (StateValue & 0xff00) | Minus_60V0;
break;
case Minus_62V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
IO0CLR=DQ__P0_07; //set DQ on
StateValue = (StateValue & 0xff00) | Minus_62V0;
break;
*/
/////////////////////////////////////////////////////////////
case Light_toON:
IO0CLR=DQ__P0_07; //set DQ on
break;
/////////////////////////////////////////////////////////////
case Light_toOFF: //turn light off
default:
IO0SET=DQ__P0_07; //set DQ off
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
StateValue = Light_toOFF;
break;
}
// sprintf(dbuffer,"Fast recover light state to 0x%x",StateValue);
// Uart0SendString(dbuffer);
}
///////////////////////////////////////////////////////////////////
void PreForceDKxState(uint16 DriveValue)
{
char dbuffer[100];
IO1SET=DK__P1_24; //set DK off
IO0SET=DL__P0_28; //set DL off
IO1SET=DH__P1_16 ; //set DH off
StateValue = (StateValue & 0xff00) | DriveValue;
switch(DriveValue){
case Minus_00V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_02V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_04V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_06V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_08V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_10V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_12V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_14V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_16V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_18V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_20V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_22V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_24V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_26V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_28V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_30V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1SET=DK5_P1_26; //set K5 off
DelayMS_(SWITCH_DELAY_TIME);
break;
/////////////////////////////////////////////////////////////////////
case Minus_32V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_34V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_36V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_38V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_40V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_42V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_44V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_46V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0SET=DK4_P0_04; //set K4 off
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_48V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_50V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_52V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_54V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1SET=DK3_P1_25; //set K3 off
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_56V0:
IO0SET=DK1_P0_06; //set K1 off
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_58V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0SET=DK2_P0_05; //set K2 off
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
/*
case Minus_60V0:
IO0SET=DK1_P0_06; //set K1 off
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
case Minus_62V0:
IO0CLR=DK1_P0_06; //set K1 on
IO0CLR=DK2_P0_05; //set K2 on
IO1CLR=DK3_P1_25; //set K3 on
IO0CLR=DK4_P0_04; //set K4 on
IO1CLR=DK5_P1_26; //set K5 on
DelayMS_(SWITCH_DELAY_TIME);
break;
*/
/////////////////////////////////////////////////////////////////////
default:
Uart0SendString("Unsupported case.");
break;
}
sprintf(dbuffer,"PreForceDKxState changes DKx state to 0x%x",StateValue);
Uart0SendString(dbuffer);
}
///////////////////////////////////////////////////////////////////
void PreToLightOn(void)
{
int32 databuff;
int32 V_AdjustStep;
char dbuffer[100];
////
V_AdjustStep=(CurInput_UU*TransferKKK)/2200; // standard Voltage = 220V, *10V
////
Uart0SendEnter(); // hint the current time firstly
sprintf(dbuffer,"[!!] Current time: %4d.%2d.%2d.%2d.%2d.%2d",CurrentTime.xYEAR,CurrentTime.xMONTH,
CurrentTime.xDOM,CurrentTime.xHOUR,CurrentTime.xMIN,CurrentTime.xSEC); Uart0SendString(dbuffer);
sprintf(dbuffer,"Preset DK relay: Input(V)=%4d, Output(V)=%4d, Target(V)=%4d, V_Step(V)=%4d",
CurInput_UU, CurOutput_U, TargetVoltage, V_AdjustStep);
Uart0SendString(dbuffer);
Uart0SendString("Open loop Mode.");
////
#ifdef U_MAIN_ADJUST_DECREASE
databuff=(int16)CurInput_UU-(int16)TargetVoltage; // adjust voltage in decreasing mode
#else
databuff=(int16)TargetVoltage-(int16)CurInput_UU; // adjust voltage in increasing mode
#endif
////// decreasing the output voltage
if(databuff>=0){ // if positive
if(databuff >= V_AdjustStep){
#ifdef U_MAIN_ADJUST_DECREASE
databuff= (databuff+(V_AdjustStep>>1)) / V_AdjustStep;
#else
databuff= (databuff-(V_AdjustStep>>1)) / V_AdjustStep;
#endif
if(databuff>Minus_vMAX){ // if Voltage too high, force -37.5V
PreForceDKxState(Minus_vMAX); // this is the max negative adjust
}else{ // if TransferKKK< xxxx < Minus_37V5, adjust voltage.
PreForceDKxState((uint16)databuff);
}
}else{ //databuff < TransferKKK
PreForceDKxState(Minus_00V0); //this is the max negative adjust
}
}
////// increasing the output voltage
else{ // if negative
PreForceDKxState(Minus_00V0); //this is the max negative adjust
}
}
//////////////////////////////////////////////////////////////////////
void OutputPinTest(void)
{
//
Uart0SendString("OutputPinTest");
RF_SendString ("OutputPinTest");
//
IO0SET = DQ__P0_07;
IO1SET = DK__P1_24;
IO0SET = DK1_P0_06;
IO0SET = DK2_P0_05;
IO1SET = DK3_P1_25;
IO0SET = DK4_P0_04;
IO1SET = DK5_P1_26;
IO1SET = DT__P1_31;
IO1SET = DH__P1_16;
IO0SET = DL__P0_28;
IO1SET = DL1_P1_17;
// IO0SET =_PWM_P0_21;
//
IO0CLR = DQ__P0_07; DelayMS_(400);
IO0SET = DQ__P0_07;
IO1CLR = DK__P1_24; DelayMS_(400);
IO1SET = DK__P1_24;
IO0CLR = DK1_P0_06; DelayMS_(400);
IO0SET = DK1_P0_06;
IO0CLR = DK2_P0_05; DelayMS_(400);
IO0SET = DK2_P0_05;
IO1CLR = DK3_P1_25; DelayMS_(400);
IO1SET = DK3_P1_25;
IO0CLR = DK4_P0_04; DelayMS_(400);
IO0SET = DK4_P0_04;
IO1CLR = DK5_P1_26; DelayMS_(400);
IO1SET = DK5_P1_26;
IO1CLR = DT__P1_31; DelayMS_(400);
IO1SET = DT__P1_31;
IO1CLR = DH__P1_16; DelayMS_(400);
IO1SET = DH__P1_16;
IO0CLR = DL__P0_28; DelayMS_(400);
IO0SET = DL__P0_28;
IO1CLR = DL1_P1_17; DelayMS_(400);
IO1SET = DL1_P1_17;
// IO0CLR = _PWM_P0_21; DelayMS_(400);
// IO0SET = _PWM_P0_21;
TestADC(); //adc test.
}
//////////////////////////////////////////////////////////////////////
/*
void InputPinTest(void)
{
//
if((IO0PIN&VINT1_P0_10)&&(IO0PIN&VINT2_P0_11)&&
(IO0PIN&VINT3_P0_12)&&(IO0PIN&VINT4_P0_13)){
IO0SET = _PWM_P0_21;
// IO0SET = DL2_P0_27; //turn on led display on the test platform
}else{
// IO0CLR = DL2_P0_27; //turn off led display on the test platform
IO0CLR = _PWM_P0_21;
}
}
*/
//////////////////////////////////////////////////////////////////////
// end of file
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -