📄 ade7758.c
字号:
temp1=tempa&0x00000fff;
adeburnparm.IA_RMS_OS=temp1;
temp1=uirmsvalmin.IB_RMS_MIN;
temp2=temp1*tempItest;
fz1=(float)temp2;
fz1=fz1*temp2;
fz1=fz1/100;
temp1=uirmsvaltest.IB_RMS_TEST;
temp2=temp1*tempImin;
fz2=(float)temp2;
fz2=fz2*temp2;
fz2=fz2/10000;
fz1=fz1-fz2;
fz1=fz1/fm;
tempa=fz1;
temp1=tempa&0x00000fff;
adeburnparm.IB_RMS_OS=temp1;
temp1=uirmsvalmin.IC_RMS_MIN;
temp2=temp1*tempItest;
fz1=(float)temp2;
fz1=fz1*temp2;
fz1=fz1/100;
temp1=uirmsvaltest.IC_RMS_TEST;
temp2=temp1*tempImin;
fz2=(float)temp2;
fz2=fz2*temp2;
fz2=fz2/10000;
fz1=fz1-fz2;
fz1=fz1/fm;
tempa=fz1;
temp1=tempa&0x00000fff;
adeburnparm.IC_RMS_OS=temp1;
if(wpd800_cfg.Wpd_Param.bURating==0x00)
{
tempUtest=60;
tempUmin=67;
fm=(float)(-3411.2);
}
else
{
tempUtest=220;
tempUmin=260;
fm=(float)(-12416);
}
temp1=uirmsvalmin.UA_RMS_MIN;
fz1=(float)temp1;
fz1=fz1*tempUtest;
temp2=uirmsvaltest.UA_RMS_TEST;
fz2=(float)temp2;
fz2=fz2*tempUmin;
fz2=fz2/10;
fz1=fz1-fz2;
fz1=fz1/fm;
tempa=fz1;
temp1=tempa&0x00000fff;
adeburnparm.UA_RMS_OS=temp1;
temp1=uirmsvalmin.UB_RMS_MIN;
fz1=(float)temp1;
fz1=fz1*tempUtest;
temp2=uirmsvaltest.UB_RMS_TEST;
fz2=(float)temp2;
fz2=fz2*tempUmin;
fz2=fz2/10;
fz1=fz1-fz2;
fz1=fz1/fm;
tempa=fz1;
temp1=tempa&0x00000fff;
adeburnparm.UB_RMS_OS=temp1;
temp1=uirmsvalmin.UC_RMS_MIN;
fz1=(float)temp1;
fz1=fz1*tempUtest;
temp2=uirmsvaltest.UC_RMS_TEST;
fz2=(float)temp2;
fz2=fz2*tempUmin;
fz2=fz2/10;
fz1=fz1-fz2;
fz1=fz1/fm;
tempa=fz1;
temp1=tempa&0x00000fff;
adeburnparm.UC_RMS_OS=temp1;
}
void AdeRead(void)//从ADE7758读出全部寄存器参数
{
ReadAde2byte(aderegaddr[AWATTHR_R16S],(uint16 *)&(runaderegval.AWATTHR_VAL_R16S));
ReadAde2byte(aderegaddr[BWATTHR_R16S],(uint16 *)&(runaderegval.BWATTHR_VAL_R16S));
ReadAde2byte(aderegaddr[CWATTHR_R16S],(uint16 *)&(runaderegval.CWATTHR_VAL_R16S));
ReadAde2byte(aderegaddr[AVARHR_R16S],(uint16 *)&(runaderegval.AVARHR_VAL_R16S));
ReadAde2byte(aderegaddr[BVARHR_R16S],(uint16 *)&(runaderegval.BVARHR_VAL_R16S));
ReadAde2byte(aderegaddr[CVARHR_R16S],(uint16 *)&(runaderegval.CVARHR_VAL_R16S));
ReadAde2byte(aderegaddr[AVAHR_R16U],(uint16 *)&(runaderegval.AVAHR_VAL_R16U));
ReadAde2byte(aderegaddr[BVAHR_R16U],(uint16 *)&(runaderegval.BVAHR_VAL_R16U));
ReadAde2byte(aderegaddr[CVAHR_R16U],(uint16 *)&(runaderegval.CVAHR_VAL_R16U));
ReadAde3byte(aderegaddr[AIRMS_R24U],(uint32 *)&(runaderegval.AIRMS_VAL_R24U));
ReadAde3byte(aderegaddr[BIRMS_R24U],(uint32 *)&(runaderegval.BIRMS_VAL_R24U));
ReadAde3byte(aderegaddr[CIRMS_R24U],(uint32 *)&(runaderegval.CIRMS_VAL_R24U));
ReadAde3byte(aderegaddr[AVRMS_R24U],(uint32 *)&(runaderegval.AVRMS_VAL_R24U));
ReadAde3byte(aderegaddr[BVRMS_R24U],(uint32 *)&(runaderegval.BVRMS_VAL_R24U));
ReadAde3byte(aderegaddr[CVRMS_R24U],(uint32 *)&(runaderegval.CVRMS_VAL_R24U));
ReadAde2byte(aderegaddr[FREQ_R12U],(uint16 *)&(runaderegval.FREQ_VAL_R12U));
ReadAde1byte(aderegaddr[TEMP_R8S],(uint8 *)&(runaderegval.TEMP_VAL_R8S));
ReadAde3byte(aderegaddr[WFORM_R24U],(uint32 *)&(runaderegval.WFORM_VAL_R24U));
ReadAde1byte(aderegaddr[OPMODE_RW8U],(uint8 *)&(runaderegval.OPMODE_VAL_RW8U));
ReadAde1byte(aderegaddr[MMODE_RW8U],(uint8 *)&(runaderegval.MMODE_VAL_RW8U));
ReadAde1byte(aderegaddr[WAVMODE_RW8U],(uint8 *)&(runaderegval.WAVMODE_VAL_RW8U));
ReadAde1byte(aderegaddr[COMPMODE_RW8U],(uint8 *)&(runaderegval.COMPMODE_VAL_RW8U));
ReadAde1byte(aderegaddr[LCYCMODE_RW8U],(uint8 *)&(runaderegval.LCYCMODE_VAL_RW8U));
ReadAde3byte(aderegaddr[MASK_RW24U],(uint32 *)&(runaderegval.MASK_VAL_RW24U));
ReadAde3byte(aderegaddr[STATUS_R24U],(uint32 *)&(runaderegval.STATUS_VAL_R24U));
ReadAde3byte(aderegaddr[RSTATUS_R24U],(uint32 *)&(runaderegval.RSTATUS_VAL_R24U));
ReadAde2byte(aderegaddr[ZXTOUT_RW16U],(uint16 *)&(runaderegval.ZXTOUT_VAL_RW16U));
ReadAde2byte(aderegaddr[LINECYC_RW16U],(uint16 *)&(runaderegval.LINECYC_VAL_RW16U));
ReadAde1byte(aderegaddr[SAGCYC_RW8U],(uint8 *)&(runaderegval.SAGCYC_VAL_RW8U));
ReadAde1byte(aderegaddr[SAGLVL_RW8U],(uint8 *)&(runaderegval.SAGLVL_VAL_RW8U));
ReadAde1byte(aderegaddr[VPINTLVL_RW8U],(uint8 *)&(runaderegval.VPINTLVL_VAL_RW8U));
ReadAde1byte(aderegaddr[IPINTLVL_RW8U],(uint8 *)&(runaderegval.IPINTLVL_VAL_RW8U));
ReadAde1byte(aderegaddr[VPEAK_R8U],(uint8 *)&(runaderegval.VPEAK_VAL_R8U));
ReadAde1byte(aderegaddr[IPEAK_R8U],(uint8 *)&(runaderegval.IPEAK_VAL_R8U));
ReadAde1byte(aderegaddr[GAIN_RW8U],(uint8 *)&(runaderegval.GAIN_VAL_RW8U));
ReadAde2byte(aderegaddr[AVRMSGAIN_RW12S],(uint16 *)&(runaderegval.AVRMSGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[BVRMSGAIN_RW12S],(uint16 *)&(runaderegval.BVRMSGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[CVRMSGAIN_RW12S],(uint16 *)&(runaderegval.CVRMSGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[AIGAIN_RW12S],(uint16 *)&(runaderegval.AIGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[BIGAIN_RW12S],(uint16 *)&(runaderegval.BIGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[CIGAIN_RW12S],(uint16 *)&(runaderegval.CIGAIN_VAL_RW12S));
ReadAde2byte(aderegaddr[AWG_RW12S],(uint16 *)&(runaderegval.AWG_VAL_RW12S));
ReadAde2byte(aderegaddr[BWG_RW12S],(uint16 *)&(runaderegval.BWG_VAL_RW12S));
ReadAde2byte(aderegaddr[CWG_RW12S],(uint16 *)&(runaderegval.CWG_VAL_RW12S));
ReadAde2byte(aderegaddr[AVARG_RW12S],(uint16 *)&(runaderegval.AVARG_VAL_RW12S));
ReadAde2byte(aderegaddr[BVARG_RW12S],(uint16 *)&(runaderegval.BVARG_VAL_RW12S));
ReadAde2byte(aderegaddr[CVARG_RW12S],(uint16 *)&(runaderegval.CVARG_VAL_RW12S));
ReadAde2byte(aderegaddr[AVAG_RW12S],(uint16 *)&(runaderegval.AVAG_VAL_RW12S));
ReadAde2byte(aderegaddr[BVAG_RW12S],(uint16 *)&(runaderegval.BVAG_VAL_RW12S));
ReadAde2byte(aderegaddr[CVAG_RW12S],(uint16 *)&(runaderegval.CVAG_VAL_RW12S));
ReadAde2byte(aderegaddr[AVRMSOS_RW12S],(uint16 *)&(runaderegval.AVRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[BVRMSOS_RW12S],(uint16 *)&(runaderegval.BVRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[CVRMSOS_RW12S],(uint16 *)&(runaderegval.CVRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[AIRMSOS_RW12S],(uint16 *)&(runaderegval.AIRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[BIRMSOS_RW12S],(uint16 *)&(runaderegval.BIRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[CIRMSOS_RW12S],(uint16 *)&(runaderegval.CIRMSOS_VAL_RW12S));
ReadAde2byte(aderegaddr[AWATTOS_RW12S],(uint16 *)&(runaderegval.AWATTOS_VAL_RW12S));
ReadAde2byte(aderegaddr[BWATTOS_RW12S],(uint16 *)&(runaderegval.BWATTOS_VAL_RW12S));
ReadAde2byte(aderegaddr[CWATTOS_RW12S],(uint16 *)&(runaderegval.CWATTOS_VAL_RW12S));
ReadAde2byte(aderegaddr[AVAROS_RW12S],(uint16 *)&(runaderegval.AVAROS_VAL_RW12S));
ReadAde2byte(aderegaddr[BVAROS_RW12S],(uint16 *)&(runaderegval.BVAROS_VAL_RW12S));
ReadAde2byte(aderegaddr[CVAROS_RW12S],(uint16 *)&(runaderegval.CVAROS_VAL_RW12S));
ReadAde1byte(aderegaddr[APHCAL_RW7S],(uint8 *)&(runaderegval.APHCAL_VAL_RW7S));
ReadAde1byte(aderegaddr[BPHCAL_RW7S],(uint8 *)&(runaderegval.BPHCAL_VAL_RW7S));
ReadAde1byte(aderegaddr[CPHCAL_RW7S],(uint8 *)&(runaderegval.CPHCAL_VAL_RW7S));
ReadAde1byte(aderegaddr[WDIV_RW8U],(uint8 *)&(runaderegval.WDIV_VAL_RW8U));
ReadAde1byte(aderegaddr[VARDIV_RW8U],(uint8 *)&(runaderegval.VARDIV_VAL_RW8U));
ReadAde1byte(aderegaddr[VADIV_RW8U],(uint8 *)&(runaderegval.VADIV_VAL_RW8U));
ReadAde2byte(aderegaddr[APCFNUM_RW16U],(uint16 *)&(runaderegval.APCFNUM_VAL_RW16U));
ReadAde2byte(aderegaddr[APCFDEN_RW12U],(uint16 *)&(runaderegval.APCFDEN_VAL_RW12U));
ReadAde2byte(aderegaddr[VARCFNUM_RW16U],(uint16 *)&(runaderegval.VARCFNUM_VAL_RW16U));
ReadAde2byte(aderegaddr[VARCFDEN_RW12U],(uint16 *)&(runaderegval.VARCFDEN_VAL_RW12U));
ReadAde1byte(aderegaddr[CHKSUM_R8U],(uint8 *)&(runaderegval.CHKSUM_VAL_R8U));
ReadAde1byte(aderegaddr[VERSION_R8U],(uint8 *)&(runaderegval.VERSION_VAL_R8U));
}
void WriteConfig(void)//ADE初始化
{
runaderegval.APCFNUM_VAL_RW16U=adeburnparm.APCFNUM;
runaderegval.APCFDEN_VAL_RW12U=adeburnparm.APCFDEN;
runaderegval.VARCFNUM_VAL_RW16U=adeburnparm.VARCFNUM;
runaderegval.VARCFDEN_VAL_RW12U=adeburnparm.VARCFDEN;
runaderegval.WDIV_VAL_RW8U=adeburnparm.WDIV;
runaderegval.VARDIV_VAL_RW8U=adeburnparm.VARDIV;
runaderegval.VADIV_VAL_RW8U=adeburnparm.VADIV;
runaderegval.MMODE_VAL_RW8U=adeburnparm.MMODE;
runaderegval.OPMODE_VAL_RW8U=adeburnparm.OPMODE;
runaderegval.WAVMODE_VAL_RW8U=adeburnparm.WAVMODE;
runaderegval.COMPMODE_VAL_RW8U=adeburnparm.COMPMODE;
WriteAde2byte((aderegaddr[APCFDEN_RW12U])|0x80,runaderegval.APCFDEN_VAL_RW12U);//1978
WriteAde2byte((aderegaddr[VARCFDEN_RW12U])|0x80,runaderegval.VARCFDEN_VAL_RW12U);//1978
WriteAde2byte((aderegaddr[APCFNUM_RW16U])|0x80,runaderegval.APCFNUM_VAL_RW16U);
WriteAde2byte((aderegaddr[VARCFNUM_RW16U])|0x80,runaderegval.VARCFNUM_VAL_RW16U);
WriteAde1byte((aderegaddr[WDIV_RW8U])|0x80,runaderegval.WDIV_VAL_RW8U);
WriteAde1byte((aderegaddr[VARDIV_RW8U])|0x80,runaderegval.VARDIV_VAL_RW8U);
WriteAde1byte((aderegaddr[VADIV_RW8U])|0x80,runaderegval.VADIV_VAL_RW8U);
WriteAde1byte((aderegaddr[MMODE_RW8U])|0x80,runaderegval.MMODE_VAL_RW8U);//0xfc
WriteAde1byte((aderegaddr[OPMODE_RW8U])|0x80,runaderegval.OPMODE_VAL_RW8U);
WriteAde1byte((aderegaddr[WAVMODE_RW8U])|0x80,runaderegval.WAVMODE_VAL_RW8U);
WriteAde1byte((aderegaddr[COMPMODE_RW8U])|0x80,runaderegval.COMPMODE_VAL_RW8U);
WriteAde3byte((aderegaddr[MASK_RW24U])|0x80,0x00);
}
void Write_Ade_Reg_Val(void)//写全部参数到ADE7758
{
WriteUI_Gain();
WriteUI_Os();
WriteWatVa_Gain();
WriteVar_Gain();
WriteWatVarVa_Ph();
WriteWatVar_Os();
WriteConfig();
}
void RelocateBurnParmSub(void)
{
adeburnparm.APCFNUM=0;
adeburnparm.VARCFNUM=0;
adeburnparm.VARCFNUM=0;
adeburnparm.OPMODE=0x04;
adeburnparm.MMODE=0xfc;
adeburnparm.WAVMODE=0;
adeburnparm.COMPMODE=0x1c;
adeburnparm.LCYCMODE=0x40;
adeburnparm.MASK=0x204;
//100V,5A
if((wpd800_cfg.Wpd_Param.bURating==0x00)&&(wpd800_cfg.Wpd_Param.bIRating==0x00))
{
adeburnparm.APCFDEN=2062;
adeburnparm.VARCFDEN=2062;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//400V 5A
else if((wpd800_cfg.Wpd_Param.bURating==0x01)&&(wpd800_cfg.Wpd_Param.bIRating==0x00))
{
adeburnparm.APCFDEN=1598;
adeburnparm.VARCFDEN=1598;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//100V,1A
else if((wpd800_cfg.Wpd_Param.bURating==0x00)&&(wpd800_cfg.Wpd_Param.bIRating==0x01))
{
adeburnparm.APCFDEN=2103;
adeburnparm.VARCFDEN=2103;
adeburnparm.WDIV=12;
adeburnparm.VARDIV=12;
adeburnparm.VADIV=12;
}
//400V,5A
else if((wpd800_cfg.Wpd_Param.bURating==0x01)&&(wpd800_cfg.Wpd_Param.bIRating==0x01))
{
adeburnparm.APCFDEN=1811;
adeburnparm.VARCFDEN=1811;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//100V,5A
else
{
adeburnparm.APCFDEN=2062;
adeburnparm.VARCFDEN=2062;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
}
void get_ade_default_parm(void)
{
adeburnparm.IA_RMS_GAIN=0;
adeburnparm.IB_RMS_GAIN=0;
adeburnparm.IC_RMS_GAIN=0;
adeburnparm.UA_RMS_GAIN=0;
adeburnparm.UB_RMS_GAIN=0;
adeburnparm.UC_RMS_GAIN=0;
adeburnparm.AWAT_GAIN=0;
adeburnparm.BWAT_GAIN=0;
adeburnparm.CWAT_GAIN=0;
adeburnparm.AVAR_GAIN=0;
adeburnparm.BVAR_GAIN=0;
adeburnparm.CVAR_GAIN=0;
adeburnparm.AVA_GAIN=0;
adeburnparm.BVA_GAIN=0;
adeburnparm.CVA_GAIN=0;
adeburnparm.IA_RMS_OS=0;
adeburnparm.IB_RMS_OS=0;
adeburnparm.IC_RMS_OS=0;
adeburnparm.UA_RMS_OS=0;
adeburnparm.UB_RMS_OS=0;
adeburnparm.UC_RMS_OS=0;
adeburnparm.AWAT_OS=0;
adeburnparm.BWAT_OS=0;
adeburnparm.CWAT_OS=0;
adeburnparm.AVAR_OS=0;
adeburnparm.BVAR_OS=0;
adeburnparm.CVAR_OS=0;
adeburnparm.APCFNUM=0;
adeburnparm.VARCFNUM=0;
adeburnparm.VARCFNUM=0;
adeburnparm.AWATVARVA_PH=0;
adeburnparm.BWATVARVA_PH=0;
adeburnparm.CWATVARVA_PH=0;
adeburnparm.OPMODE=0x04;
adeburnparm.MMODE=0xfc;
adeburnparm.WAVMODE=0;
adeburnparm.COMPMODE=0x1c;
adeburnparm.LCYCMODE=0x40;
adeburnparm.MASK=0x204;
//100V,5A
if((wpd800_cfg.Wpd_Param.bURating==0x00)&&(wpd800_cfg.Wpd_Param.bIRating==0x00))
{
adeburnparm.APCFDEN=2062;
adeburnparm.VARCFDEN=2062;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//400V 5A
else if((wpd800_cfg.Wpd_Param.bURating==0x01)&&(wpd800_cfg.Wpd_Param.bIRating==0x00))
{
adeburnparm.APCFDEN=1598;
adeburnparm.VARCFDEN=1598;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//100V,1A
else if((wpd800_cfg.Wpd_Param.bURating==0x00)&&(wpd800_cfg.Wpd_Param.bIRating==0x01))
{
adeburnparm.APCFDEN=2103;
adeburnparm.VARCFDEN=2103;
adeburnparm.WDIV=12;
adeburnparm.VARDIV=12;
adeburnparm.VADIV=12;
}
//400V,5A
else if((wpd800_cfg.Wpd_Param.bURating==0x01)&&(wpd800_cfg.Wpd_Param.bIRating==0x01))
{
adeburnparm.APCFDEN=1811;
adeburnparm.VARCFDEN=1811;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
//100V,5A
else
{
adeburnparm.APCFDEN=2062;
adeburnparm.VARCFDEN=2062;
adeburnparm.WDIV=0;
adeburnparm.VARDIV=0;
adeburnparm.VADIV=0;
}
}
void Read_Ade_Reg_Val(void)//将从EEPROM中读取放在adeburnparm的数值COPY到运行区runaderegval
{
runaderegval.AIGAIN_VAL_RW12S=adeburnparm.IA_RMS_GAIN;
runaderegval.BIGAIN_VAL_RW12S=adeburnparm.IB_RMS_GAIN;
runaderegval.CIGAIN_VAL_RW12S=adeburnparm.IC_RMS_GAIN;
runaderegval.AVRMSGAIN_VAL_RW12S=adeburnparm.UA_RMS_GAIN;
runaderegval.BVRMSGAIN_VAL_RW12S=adeburnparm.UB_RMS_GAIN;
runaderegval.CVRMSGAIN_VAL_RW12S=adeburnparm.UC_RMS_GAIN;
runaderegval.AWG_VAL_RW12S=adeburnparm.AWAT_GAIN;
runaderegval.BWG_VAL_RW12S=adeburnparm.BWAT_GAIN;
runaderegval.CWG_VAL_RW12S=adeburnparm.CWAT_GAIN;
runaderegval.AVARG_VAL_RW12S=adeburnparm.AVAR_GAIN;
runaderegval.BVARG_VAL_RW12S=adeburnparm.BVAR_GAIN;
runaderegval.CVARG_VAL_RW12S=adeburnparm.CVAR_GAIN;
runaderegval.AVAG_VAL_RW12S=adeburnparm.AVA_GAIN;
runaderegval.BVAG_VAL_RW12S=adeburnparm.BVA_GAIN;
runaderegval.CVAG_VAL_RW12S=adeburnparm.CVA_GAIN;
runaderegval.AIRMSOS_VAL_RW12S=adeburnparm.IA_RMS_OS;
runaderegval.BIRMSOS_VAL_RW12S=adeburnparm.IB_RMS_OS;
runaderegval.CIRMSOS_VAL_RW12S=adeburnparm.IC_RMS_OS;
runaderegval.AVRMSOS_VAL_RW12S=adeburnparm.UA_RMS_OS;
runaderegval.BVRMSOS_VAL_RW12S=adeburnparm.UB_RMS_OS;
runaderegval.CVRMSOS_VAL_RW12S=adeburnparm.UC_RMS_OS;
runaderegval.AWATTOS_VAL_RW12S=adeburnparm.AWAT_OS;
runaderegval.BWATTOS_VAL_RW12S=adeburnparm.BWAT_OS;
runaderegval.CWATTOS_VAL_RW12S=adeburnparm.CWAT_OS;
runaderegval.AVAROS_VAL_RW12S=adeburnparm.AVAR_OS;
runaderegval.BVAROS_VAL_RW12S=adeburnparm.BVAR_OS;
runaderegval.CVAROS_VAL_RW12S=adeburnparm.CVAR_OS;
runaderegval.APHCAL_VAL_RW7S=adeburnparm.AWATVARVA_PH;
runaderegval.BPHCAL_VAL_RW7S=adeburnparm.BWATVARVA_PH;
runaderegval.CPHCAL_VAL_RW7S=adeburnparm.CWATVARVA_PH;
runaderegval.WDIV_VAL_RW8U=adeburnparm.WDIV;
runaderegval.VARDIV_VAL_RW8U=adeburnparm.VARDIV;
runaderegval.VADIV_VAL_RW8U=adeburnparm.VADIV;
runaderegval.APCFNUM_VAL_RW16U=adeburnparm.APCFNUM;
runaderegval.APCFDEN_VAL_RW12U=adeburnparm.APCFDEN;
runaderegval.VARCFNUM_VAL_RW16U=adeburnparm.VARCFNUM;
runaderegval.VARCFDEN_VAL_RW12U=adeburnparm.VARCFDEN;
}
bool Burn_Ade_Parm(void)//从参数区固化到EEPROM
{
CrcMake((BYTE *)&adeburnparm,ADE_PARM_SIZE-4);
return Eeprom_Write((BYTE *)&adeburnparm,EPROM_ADEPARM_ZONE,ADE_PARM_SIZE,WPD_NO_CHECK);
}
bool Read_Ade_Burn_Parm(void)//从EEPROM读取参数到参数区
{
bool status=FALSE;
if(Eeprom_Read((BYTE *)&adeburnparm,EPROM_ADEPARM_ZONE,ADE_PARM_SIZE))
{
if(CrcOk((BYTE *)&adeburnparm,ADE_PARM_SIZE-4))
{
RelocateBurnParmSub();
Read_Ade_Reg_Val();
status=TRUE;
}
}
return status;
}
void ADEYSSUB(void)
{
uint32 AdeCounter,adett0;
AdeCounter = dTCounter;
do
{
adett0 = dTCounter - AdeCounter;
}while(adett0 < 1200);
}
//上电初始化,从EEPROM读取参数到参数区adeburnparm,从adeburnparm区COPY到运行区runaderegval
//再写到ADE7758,最后将参数读到运行区runaderegval.
void AdeInit(void)
{
if(Read_Ade_Burn_Parm())
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -