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.

[参考译文] LPSTK-CC1352R:HDC2080温度传感器数据没有小数位?

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1024577/lpstk-cc1352r-hdc2080-temperature-sensor-data-has-no-decimal-places

器件型号:LPSTK-CC1352R
主题中讨论的其他器件:HDC2080

您好!

我使用 DMM_154sensor_remote_display_oad_lpstk_app 示例程序作为项目的基础。  我注意到、发送到收集器的 HDC2080温度传感器数据没有小数位。 我查看了将 HDC2080温度传感器读取为浮点值的代码。 如果我没有记错、则浮点数大小为5。

lpstk.c

//get last temp
float Lpstk_getTemperature()
{
    return lpstkSensors.temperature;
}

然后、在 sensor.c 中、浮点被类型转换为 uint16_t、如果我没有弄错、则大小为2。 因此、这可能是删除小数位数的原因。 我们需要温度小数位数。 类型转换为 uin16_t 的原因是集电极 csf.c CUI_statusLinePrintf()无法以浮点格式打印吗?

传感器.c

static void readSensors(void)
{
#if defined(TEMP_SENSOR)
    /* Read the temp sensor values */
    tempSensor.ambienceTemp = Ssf_readTempSensor();
    tempSensor.objectTemp =  tempSensor.ambienceTemp;
#endif
#ifdef LPSTK
    Lpstk_Accelerometer accel;
    humiditySensor.temp = (uint16_t)Lpstk_getTemperature();
    humiditySensor.humidity = (uint16_t)Lpstk_getHumidity();

-kel

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

    你(们)好

    我尝试使用 CUI_statusLinePrintf()打印浮点,但没有成功,因此这可能是温度转换为 uint16_t 的原因

    我们将更详细地研究这一点、以了解是否可以将浮点值与此函数一起使用。

    对于另一个部分(不是打印)、修改代码以将浮点值无线传输、而不仅仅是 uint16应该非常直接。

    BR

    Siri

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

    您好、Siri、

    我修改了代码、将原始温度数据发送给收集器。 然后在支持 Wifi 的电路板上执行计算、将原始温度数据转换为摄氏温度。 这一点在我这边得到了解决。

    -kel