📄 ec.c
字号:
void ProcEC(void)
{
// 1: 当前月电量
if(SM.CMonChk!=ChkSum(SM.CMon.Fee[0], sizeof(CMONBLK)))
{
E2ToRAM(1,E2PInfo[1].Addr);
}
_BCD4INC((unsigned char *)&SM.CMon.Fee[0]);
_BCD4INC((unsigned char *)&SM.CMon.Fee[SM.Cfg.FeeNo[0]+1]);
if(REVP_IN&REVP_BIT) _BCD4INC((unsigned char *)&SM.CMon.RevEC[0]);
if((SM.CMon.Fee[0][0]&0x0F)==0) // 电量增加 0.1,保存
{
if((SM.CMon.Fee[0][0]&0xFF)==0) // 电量增加 1,保存
SM.E2Flgs |= S_E2CMONGRP;
if(++SM.CMon.WE2PTms>=800000)
{
SM.CMon.WE2PTms=0;
if(SM.CMon.Addr_0_1[0]>=E2Stop_0_1)
SM.CMon.Addr_0_1[0]=E2Start_0_1;
else
SM.CMon.Addr_0_1[0] +=8;
}
SM.E2Flgs |= S_E2KWH_0_1;
DM.Tsk.Req.I2C=1;
}
SM.CMonChk=ChkSum(SM.CMon.Fee[0], sizeof(CMONBLK));
DM.Tsk.Req.EC=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -