⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 senddata.c

📁 MSP430 examples or customized
💻 C
📖 第 1 页 / 共 2 页
字号:
            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 + -