📄 zhuancun.h
字号:
void gzhuancun_use0()// zhuan cun yong
{
switch(rzhuancun_tpye_ercibiao)
{
case TYPE_EP1_HISTROY_KWH: // write eeprom
case TYPE_EP1_HISTROY_KWH2:
case TYPE_EP1_HISTROY_KWH3:
zhuancun_dianliang();
break;
case TYPE_EP1_HISTROY_KW:
case TYPE_EP1_HISTROY_KW2:
case TYPE_EP1_HISTROY_KW3:
zhuancun_xuliang();
break;
case TYPE_EP1_SEASONCHANGE_RECORD: // fu he qi
zhuancun_fuheqi();
break;
case TYPE_EP1_CLRKWSTOR_RECORD: // xuliang qing ling
// case TYPE_EP1_CLRKWSTOR_RECORD2: // xuliang qing ling
// case TYPE_EP1_CLRKWSTOR_RECORD3: // xuliang qing ling
zhuancun_xuliangqingling();
break;
default:
rstatus_zhuan_cun = zhuancun_no;
rcurrent_status_zhuancun = 0;
break;
}
}
void zhuancun_status_copy_to_fm()
{
wr_data[0]= rstatus_zhuan_cun;
wr_data[1]= rzhuancun_tpye_ercibiao;
wr_data[2]=rcurrent_status_zhuancun;
data_addr.addri=FM_STATUS_ZHUANCUN;
write(FM,3);
wr_data[0] = Rcurrent_chaobiaori_use;
data_addr.addri=FM_CURRENT_CHAOBIAORI;
write(FM,1);
}
void zhuancun_mode()
{
unsigned char hour,day,l,l1,chaobiaoriok,value,d1,d2;
unsigned int l2,ciYizhuancun;
static unsigned char g,g1,g2,g3,g4,g5;
static unsigned char use1,use2,use3; // zhuang tai ,when change ---->write fm
ZHUANCUN_TIME Zhuancun_Time[3];
//static ZHUANCUN_STATE StaZhuancun_use[3];
if(g!=RSOFT_RTC_SECOND) // one second one time
{
g=RSOFT_RTC_SECOND;// mu di shao du tie dian
g1=1;
g2=1;
g3=1;
g4=1;
g5=1;
}
system_use_time=0;
// cao biao ri
//-------20081220--add--lzh------- >>.. -----3 chaobiaori-----
if(rstatus_zhuan_cun==zhuancun_no)
{
if((strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang == 0)
&&(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang == 0 ))
{
Rcurrent_chaobiaori_use ++;
if(Rcurrent_chaobiaori_use >=3 )
Rcurrent_chaobiaori_use = 0;
}
Zhuancun_Time[Rcurrent_chaobiaori_use].hour = RAM[R_CHAOBIAORI+Rcurrent_chaobiaori_use*2];
Zhuancun_Time[Rcurrent_chaobiaori_use].day = RAM[R_CHAOBIAORI+1+Rcurrent_chaobiaori_use*2];
Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok = 0;
if(2==(testhour(Zhuancun_Time[Rcurrent_chaobiaori_use].hour)+testday(Zhuancun_Time[Rcurrent_chaobiaori_use].day)))
if(Zhuancun_Time[Rcurrent_chaobiaori_use].day<0x29)
Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok=1;
}
//----20081220-add--lzh----------- ..<< -----------
// chu li tong xun qing ling xuliang
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
if( xuliangqingling_qingqiu==1)
{
byte_2_bcd_add(R_CLRKW_NUM);// num
copy_ram_to_fm(R_CLRKW_NUM,2,R_CLRKW_NUM);
one_time_two_table_start(TYPE_FM_CLRKW_RECORD);
if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1) // you chao biao ri
{
xuliangqingling_qingqiu=0;
zhuancun_xuliangqingling_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
}
else
{
xuliangqingling_qingqiu=0; // wu chao biao ri
strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang = 1;
strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang = 1;
}
// RFLAG_DEMANGCLR_LOCK=1;
// RTIMER_DEMANGCLR_LOCK=timevalue_xuliangqingling_lock;
// if((RSTATUS_RUN==TEST)&&(progfunction_security==yes))
// {
// RFLAG_DEMANGCLR_LOCK=0;
// RTIMER_DEMANGCLR_LOCK=0;
// }
// move_int_to_fm( RTIMER_DEMANGCLR_LOCK,FM_TIMER_DEMANGCLFM_LOCK);
}
if(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang ==1)
{
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
{
zhuancun_dianliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
strZhuancun_qingqiu[Rcurrent_chaobiaori_use].dianliang = 0;
}
}
else
{
if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)
if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))// one second can zhuangcun
// DIANLIANG
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
if(g1==1)// second one time
{
g1=0;
ciYizhuancun = FM_YIZHUANCUN_DIANLIANG + Rcurrent_chaobiaori_use*3;
if(1==had_zhuancun(ciYizhuancun,Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day))
zhuancun_dianliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
}
}
if(strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang ==1)
{
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
{
zhuancun_xuliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
strZhuancun_qingqiu[Rcurrent_chaobiaori_use].xuliang=0;
}
}
else
{
if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)
if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))// one second can zhuangcun
//xuLIANG
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
// WRITE Ram
{
if(g3==1)// second one time
{
g3=0;
ciYizhuancun = FM_XULIANG_YIZHUANCUN_DATE + Rcurrent_chaobiaori_use*3;
if(1==had_zhuancun(ciYizhuancun,Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day))
zhuancun_xuliang_start(Zhuancun_Time[Rcurrent_chaobiaori_use].hour,Zhuancun_Time[Rcurrent_chaobiaori_use].day);
}
}
}
// cuofeng ZHUAN CUN
if(progfunction_cuofeng==yes)
{
if((system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
{
value=0;
if(Zhuancun_Time[Rcurrent_chaobiaori_use].chaobiaoriok==1)
{
if((RSOFT_RTC_HOUR==Zhuancun_Time[Rcurrent_chaobiaori_use].hour)&&(RSOFT_RTC_DAY==Zhuancun_Time[Rcurrent_chaobiaori_use].day))
if(g5==1)// second one time
{
g5=0;
value=1;
d1=Zhuancun_Time[Rcurrent_chaobiaori_use].hour;
d2=Zhuancun_Time[Rcurrent_chaobiaori_use].day;
}
}
else
{
if((RSOFT_RTC_DAY==1)&&(RSOFT_RTC_HOUR==0))
if(g5==1)// second one time
{
g5=0;
value=1;
d1=0;
d2=1;
}
}
if(1==value)
zhuancun_cuofeng(d2,d1);
}
}
// add fu he qi zhuan cun
if((fuhe_changed==1)&&(system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
{
fuhe_changed=0;
time_to_wrdata();
for(l=0;l<6;l++)
zhuancun[l]=wr_data[l];
for(l=0;l<80;l++)
zhuancun[l+6]=RAM[R_KWH_F_BAKA+l];
for(l=0;l<86;l++)
wr_data[l]=zhuancun[l];
data_addr.addri=FM_ZHUANCUN_BUFFER;
write(FM,86);
next_point(TYPE_EP1_SEASONCHANGE_RECORD,3);
system_use_time=1;
rstatus_zhuan_cun=zhuancun_yes;
rzhuancun_tpye_ercibiao=TYPE_EP1_SEASONCHANGE_RECORD;
rcurrent_status_zhuancun=0;
wr_data[0]=RAM[R_ONUS_1+0+3*current_fuheqi];//day
wr_data[1]=RAM[R_ONUS_1+1+3*current_fuheqi];// month
data_addr.addri=FM_FUHEQIYIZHUANCUN_DATE;
write(FM,2);
}
// add yu yue 0 1 FM 2--11 ---->EEPROM
if((rqingqiu_yuyue_cun==1)&&(system_use_time==0)&&(rstatus_zhuan_cun!=zhuancun_yes))
{
rqingqiu_yuyue_cun=0;
data_addr.addri=FM_YUYUE_ZHUANCUNQINGQIU;
wr_data[0]=0;
write(FM,1);
time_to_wrdata();
data_addr.addri=FM_YUYUEDONGJIE_BUFFER;
for(l=0;l<96;l++)
wr_data[l+6]=RAM[R_KWH_F_BAKA+l];
for(l=0;l<7;l++)
{
wr_data[l+96+6]=RAM[R_KW_F+l];
wr_data[l+96+7+6]=RAM[R_KW_R+l];
}
write(FM,116);
system_use_time=1;
}
// system run(execute)
if(system_use_time==0)
{
if(rstatus_zhuan_cun==zhuancun_yes)
gzhuancun_use0();
}
// ZHUAN TAI BAO CUN ZHI TIE DIAN
if((use1!=rstatus_zhuan_cun)||(use2!=rzhuancun_tpye_ercibiao)||(use3!=rcurrent_status_zhuancun))
{
use1=rstatus_zhuan_cun;
use2=rzhuancun_tpye_ercibiao;
use3=rcurrent_status_zhuancun;
zhuancun_status_copy_to_fm();
}
// add fu he qi zhuan cun
if(1==system_use_time)
system_control_time2=1;
//
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -