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.

[参考译文] HDC3020-Q1:电阻器配置的示例代码

Guru**** 2590090 points
Other Parts Discussed in Thread: HDC3020-Q1, ENERGIA

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1210868/hdc3020-q1-sample-code-for-resistors-configuration

器件型号:HDC3020-Q1
Thread: Energia 中讨论的其他器件

大家好、

我们的客户正在寻找一个示例代码、用于配置  HDC3020-Q1内的14个电阻、如 数据表的第8.5.7.8节所述。  以下 E2E 主题中有示例代码、但我无法确认是否有加热器配置的示例代码。 您能确认吗?

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1190688/faq-hdc3020-is-there-an-energia-or-arduino-example-available

此致、

Danilo.

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

    达尼洛-  

    在 HDC3数据表中、有一个此类数据表:  

    (单击图像以放大)

    以下是使用这三种设置之一的三个设置示例(使用 Energia/Arduino 样式)

    //将加热器配置为1/4功率
    Wire.beginTransmission(0x45);//发送到 HDC3x 器件地址0x45
    Wire.write (0x30);// 0x30 //配置加热器
    Wire.write (0x6E);// 0x6E //配置加热器
    Wire.write (0x00);// 0x00 //设置 MSB
    Wire.write (0x9F);// 0x9F //设置 LSB
    Wire.write (0x96);// 0x96 // crc
    Wire.endTransmission ();//停止传输

    或  

    //将加热器配置为1/2功率
     Wire.beginTransmission(0x45);//发送到 HDC3x 器件地址0x45
     Wire.write (0x30);// 0x30 //配置加热器
     Wire.write (0x6E);// 0x6E //配置加热器
     Wire.write (0x03);// 0x03 //设置 MSB
     Wire.write (0xFF);// 0xFF //设置 LSB
     Wire.write (0x00);// 0x00 // crc
     Wire.endTransmission ();//停止传输

    或  

    //将加热器配置为全功率
    Wire.beginTransmission(0x45);//发送到 HDC3x 器件地址0x45
    Wire.write (0x30);// 0x30 //配置加热器
    Wire.write (0x6E);// 0x6E //配置加热器
    Wire.write (0x3F);// 0x0F //设置 MSB
    Wire.write (0xFF);// 0xFF //设置 LSB
    Wire.write (0x06;// 0x06 // crc.
    Wire.endTransmission ();//停止传输

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

    Josh、您好!

    非常感谢您的确认和分享示例代码。

    此致、

    Danilo.

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

    Josh、您好!

    我们的客户在下面有一个后续查询。

    我知道25%、50%、100%加热器控制。
    我的问题是如何控制几%。
    如用户手册所示、HDC3x 器件包含14个加热器。

    当我们只需要打开1或2个加热器时、我们该怎么做?
    我们需要确认该控件的代码。

    此致、

    Danilo.

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

    达尼洛-  

    如果您只想将加热器配置为启用传感器操作的开/关检查、并消耗最少的电流、则可以使用0x0001、CRC 0xB0或0x0002 CRC 0xE3进行配置。 请参阅下面的十六进制字节二进制选择+关联的 CRC 表。  

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

    Josh、您好!

    如果我的理解是正确的、客户只需在代码中更改 MSB 和 LSB 的值即可打开特定的电阻器。 例如、要开启位元件0 (最右侧为电阻器)、代码为:

     Wire.write (0x00);// 0x00 //设置 MSB
     Wire.write (0x01);// 0x01 // 设置 LSB

    是这样吗?

    此致、

    Danilo.

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

    达尼洛-  

    是的、正确、当然会发送 CRC  

    //针对 最小 功率设置配置加热器
    Wire.beginTransmission(0x45);//发送到 HDC3x 器件地址0x45
    Wire.write (0x30);// 0x30 //配置加热器
    Wire.write (0x6E);// 0x6E //配置加热器
    Wire.write (0x00);// 0x00 //设置 MSB
    Wire.write (0x01);// 0x01 //设置 LSB
    Wire.write (0xB0);// 0xB0 // CRC
    Wire.endTransmission ();//停止传输

    CRC 计算器位于 HDC3xEVM GUI 中、以防他们需要如上所示计算任何其他组合和硬编码