📄 senddata.c
字号:
SendString("I(peak/mA): ");
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
svalue = POWERFCT;
svalue = (signed int)((((signed long)svalue*1000)/POW_2_14));
SendString("cosPhi(*1000): ");
//if ((signed char)CAPIND > 0) SendChar('-');
sprintf(strbuf, "%d",svalue);
SendString(strbuf);
SendChar('\r');
value = (unsigned int)((unsigned char)CAPIND);
SendString("CapInd: ");
if (((signed char)CAPIND) < 0)
SendString("Ind = ");
else
SendString("Cap = ");
SendResult((unsigned char*) &value, 2);
SendString(" Energy: ");
if (negenfg == 0) { SendChar('+'); } else { SendChar('-'); }
SendString(" Quad: I");
if (((signed char)CAPIND) < 0)
{
if (negenfg == 0) { }
else { SendChar('I'); }
}
else
{
if (negenfg == 0) { SendChar('V'); }
else { SendChar('I');SendChar('I');}
}
SendChar('\r');
value = POWERFCT;
SendString("PF: ");
SendResult((unsigned char*) &value, 2);
SendString(" ");
value = s_parameters.pSET_PHASECORR1;
SendString("PhaseCorr1: ");
SendResult((unsigned char*) &value, 2);
SendChar('\r');
value = (unsigned int)((float)MAINSPERIOD*((float)(1000000)/((float)(1048576))));
SendString("Main Period(us): ");
sprintf(strbuf, "%d",value);
SendString(strbuf);
SendChar('\r');
SendString("Frequency(mHz): ");
lvalue = (unsigned long)((float)(1000000*1000/((float)value)));
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = (unsigned long)((float) energy.l * (s_parameters.EnergyRatio/1000));
SendString("Active Energy1 (mW): ");
if (negenfg != 0) { SendChar('-'); }
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = (unsigned long)REACTENERGY_HI << 16;
lvalue += REACTENERGY_LO;
lvalue = (unsigned long)((float) lvalue * (s_parameters.EnergyRatio/1000));
SendString("Reactive Energy1 (mVAR): ");
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = (unsigned long)APPENERGY_HI << 16;
lvalue += APPENERGY_LO;
lvalue = (unsigned long)((float) lvalue * (s_parameters.EnergyRatio/1000));
SendString("Apparent Energy1 (mVA): ");
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = (unsigned long)((float) total_energy * (float)(s_parameters.EnergyRatio)/(float)((float)1000000*(float)3600));
SendString("Active TotalEnergy1 (Wh): ");
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = (unsigned long) (((unsigned long)temperature * (s_parameters.ulTempGain))/100 - (s_parameters.ulTempOffset));
SendString("Temperature(*100/degree): ");
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
lvalue = LINECYCLCNT_LO;
lvalue += (unsigned long)LINECYCLCNT_HI << 16;
SendString("Cycles: ");
SendResult((unsigned char*) &lvalue, 4);
SendChar('\r');
lvalue = NMBMEAS_LO;
lvalue += (unsigned long)NMBMEAS_HI << 16;
SendString("Num of Meas.: ");
SendResult((unsigned char*) &lvalue, 4);
SendChar('\r');
break;
case tx_test:
{
static char count = 0;
count ++;
if (count >= 1)
{
count =0;
SendString("Time: ");
SendResult((unsigned char*) &HOUR, 1);
SendString(":");
SendResult((unsigned char*) &MIN, 1);
SendString(":");
SendResult((unsigned char*) &SEC, 1);
SendString(" ");
lvalue = (unsigned long)energy.l;
SendString("Energy = ");
// SendString("Frequency(mHz) = ");
// lvalue = (unsigned long)((float)(1000)*(float)(1048576)/(float)MAINSPERIOD );
sprintf(strbuf, ldfs,lvalue);
SendString(strbuf);
SendChar('\r');
}
}
break;
default:
break;
}
}
void SendValue(unsigned int parm)
{
unsigned int value;
unsigned long lvalue;
float fvalue;
unsigned long activeEnergy;
activeEnergy = (unsigned long)((float) total_energy * (float)(s_parameters.EnergyRatio)/((float)1000000*(float)3600));
switch (parm)
{
case send_clock:
//SendString("Time: ");
SendChar(Digit1(HOUR)); // High digit
SendChar(Digit0(HOUR)); // Low digit
SendChar(':');
SendChar(Digit1(MIN)); // High digit
SendChar(Digit0(MIN)); // Low digit
SendChar(':');
SendChar(Digit1(SEC)); // High digit
SendChar(Digit0(SEC)); // Low digit
break;
case send_date:
#if date_format == MMDDYY // US Format
SendChar(Digit1(MONTH)); // High digit
SendChar(Digit0(MONTH)); // Low digit
SendChar('/');
SendChar(Digit1(DAY)); // High digit
SendChar(Digit0(DAY)); // Low digit
SendChar('/');
SendChar(Digit1(YEAR)); // High digit
SendChar(Digit0(YEAR)); // Low digit
#else // European Format
SendChar(Digit1(DAY)); // High digit
SendChar(Digit0(DAY)); // Low digit
SendChar('.');
SendChar(Digit1(MONTH)); // High digit
SendChar(Digit0(MONTH)); // Low digit
SendChar('.');
SendChar(Digit1(YEAR)); // High digit
SendChar(Digit0(YEAR)); // Low digit
#endif
break;
case send_volt:
lvalue = ((unsigned long) ((V1RMS) * (s_parameters.VRatio*1000))/1000);
SendFloat(lvalue,3);
break;
case send_current:
lvalue = ((unsigned long) (IRMS_HI * s_parameters.IRatio*1000))/1000;
SendFloat(lvalue,3);
break;
case send_vpeak:
lvalue = ((unsigned long) ((VPEAK) * (s_parameters.VRatio*1000))/1000);
SendFloat(lvalue,3);
break;
case send_ipeak:
lvalue = ((unsigned long) (IPEAK * s_parameters.IRatio*1000))/1000;
SendFloat(lvalue,3);
break;
case send_freq:
lvalue = (unsigned long)((float)((long)1000*(long)256*(long)4096))/((float)MAINSPERIOD);
SendFloat(lvalue,3);
break;
case send_cosphi:
value = (unsigned int)((((unsigned long)POWERFCT*1000)/POW_2_14));
lvalue = ((((unsigned long)POWERFCT*1000)/POW_2_14));
if ((signed char)CAPIND < 0)
{ SendChar('-'); }
else
{ SendChar('+'); }
SendFloat(lvalue,3);
break;
/* case send_ch1:
LCDdecu16(wfs1, 5, 7, 0);
break;
case send_ch2:
LCDdecu16(wfs2, 5, 7, 0);
break;
case send_ch3:
LCDdecu16(wfs3, 5, 7, 0);
break; */
case send_temp:
lvalue = (unsigned long) (((unsigned long)temperature * (s_parameters.ulTempGain))/100 - (s_parameters.ulTempOffset));
SendFloat(lvalue,2);
break;
case send_power:
if (negenfg != 0) { SendChar('-'); }
fvalue = ((float) energy.l * (float)(s_parameters.EnergyRatio)/(1000000));
if (fvalue <= 1000)
{
lvalue = (unsigned long)(fvalue*1000);// Active Power (kW);
SendFloat(lvalue,6);
}
else
{
lvalue = (unsigned long)fvalue;
SendFloat(value,3);
}
break;
case send_energy:
lvalue = activeEnergy; // Active Energy1 (kWh):
SendFloat(lvalue,3);
break;
case send_msgin:
case send_last:
default:
break;
}
SendChar('\r'); // End the string with carriage return
}
#endif // withUARTComm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -