This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP430i2041:MSP430i2041子计量EVM

Guru**** 2582405 points
Other Parts Discussed in Thread: MSP430I2041

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/615784/msp430i2041-msp430i2041-sub-metering-evm

部件号:MSP430I2041

尊敬的Mates:

我正在使用基于SPI的DAC来控制外部直流电路的输出电流。 我遇到的问题是,我可以发送预定义的值,并且输出直流值与其对应,但是当我使用MSP430i2041测量的交流电流时,我只获得最大输出直流电流值。关于这一点,我有几个问题:

 1>'rms_current(ph)'是否是包含测量的RMS电流的正确变量?  

 2>如果是,则变量类型是什么? 如果否,那么哪个变量包含正确的RMS电流测量值,其数据类型是什么?

下面是修改后的示例代码的位:  

// emeter-main.c #if
NUM_THENS == 1的第239行
calculate_phone_reads();
LED3_ON ();

静态无符号长CL = 0x2AAA;//4mA = 0x2AAA,所需偏移
//CL = CL +(Int16_t)(rms_current (1)/1000);//这将产生与底部结果相同的结果

CL =((int) rms_current(0))/1000;//我尝试了许多变体,但似乎都不起作用
如果(CL > 0xDA8E)
{
CL = 0xDA8E;
}
updateCurrentOutput((unsigned short)(CL));//通过SPI
#else向DAC发送数据的函数
calculate_phone_readings (pH);
LED3_OFF (); 

如有任何帮助,我们将不胜感激。

提前感谢

谨致问候

Subhronil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    明白了!
    刚刚更改;CL =((int) rms_current (0))/1000;至CL =(unsigned short)(rms_current (0)/ 100.00);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好Subhronil,

    感谢您让每个人都知道您解决了问题。 为供参考,“rms_current()"函数返回32位带符号整数。 您可以在'etrologice-types.h'文件中看到这一点,但如果您没有该文件,您还可以在'emeter-dlt645.c'文件中看到此函数的Int32_t类型转换是在何处完成的。 请注意,tx16[]缓冲区的索引从3变为5,表示RMS当前数据字段需要两个16位值。

    metrology-types.h

    /*我们以1mV的步进存储电压。 32位无符号数字支持1mV
    到214.7483万.647V的范围,这对于所有可预见的用途似乎都是可以的。 */
    typedef Int32_t rms_volt_t; 

    emeter-dlt645.c.

    #if NUM_THENS == 1 && defined (NEUTRA_MONITOR_support)
    *(Int32_t *)&tx16[3])= rms_current (fake阶段_活动);
    *(Int32_t *)&tx16[5])= active_power (fake阶段_活动);
    #else 

    希望这能有所帮助。

    此致,

    詹姆斯

    MSP客户应用程序