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.

[参考译文] HDC2010:INT 引脚仅在高温阈值超出时激活?

Guru**** 2589300 points
Other Parts Discussed in Thread: HDC2010

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/656466/hdc2010-int-pin-only-activated-by-high-temp-threshold-excess

器件型号:HDC2010

您好!

我对 INT 有奇怪的行为:

我使用 了此视频 并下载了评论库。 然后、我开始将库移植到 STM32L0 (C 语言)。 我认为表22中的位3、4、5、6存在错误、使能电平应为1。 表16中的字段名称也错误(6/5<->4/3 -已经指向 另一个线程 、数据表预计将于2017年底更新)。

我的问题是、只有高温阈值会使 INT 引脚变为高电平。 我可以在0x04 (INT_STATUS)寄存器中看到温度低或湿度阈值过高,但不会在 INT 引脚上“反射”;(

我的寄存器 CFG:

0x07:0x78

0x0E:0x57

0x0F:0x00

当0x04 = 10 (湿度阈值上限 int)时、INT 引脚仍读为低电平。

当0x04 = 50 (湿度和温度阈值上限 int)时、INT 引脚变为高电平(如预期)。 就像 INT 引脚反映0x04位6、而不是预期的逻辑或位3、4、5和6之间。

有什么想法吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Thomas:
    正如您已经在表16 (地址0x04中断 DRDY)中注意到的、说明列是正确的。 重复表15中信息的字段列不正确。 我们应尽快更新数据表。 您对0x04的理解是正确的。

    0x07设置似乎错误:根据表22 [6;3]=0000启用中断。 为什么你认为错?

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

    您好!

    谢谢您的回答、我认为这是错误的、因为:

    1) 1)在 [6;3]=0000时、INT 引脚根本不会反应

    2) 2)提供的库使用[6;3]=1111:

    //启用用于舒适区操作的中断引脚
    空 HDC2010::enableThresholdInterrupt (空)


    uint8_t regContents;
    regContents = readReg (interrupt_config);

    regContents =(regContents | 0x78);

    writeReg (interrupt_config、regContents);

    3) 3)为什么要在 DRDY 和 TH、TL、HH、HL 掩码之间的单个寄存器中反转逻辑?

    如果您希望我尝试其他东西、请告诉我。

    您是否尝试过 HH、HL、TL 来驱动 INT 引脚? 在视频中、仅演示了基础中断、它也对我有效。

    感谢您的支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Thomas:
    感谢您的快速回复。 还将添加要更新的表22、这是有道理的、因为 Arduino 库是这样配置的。
    将检查 HH/HL/TH/并在下周返回并给出答案。

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

    关于寄存器0x07、请注意、中断位的工作方式具有优先级。 优先级如 TH>TL>HH>HL。 因此、TH 具有最高优先级、HL 具有最低优先级。 如果这4个位中的任何一个被置位、较低优先级位的位设置将被忽略、这就是为什么在0x07=0x78的问候中、INT 线路和其它位被忽略的原因。

    如果您使0x07 = 0x18、那么 HH 将能够影响 INT 引脚。

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

    感谢您的快速更新、

    数据表中没有描述此行为(并且是几乎是垃圾:x,使用掩码的整个点是激活或不是目标阈值)!

    幸运的是、这在我的应用中并不重要、但您应该在这一点上快速更新数据表。

    如果我想获得"不在 confort 区域"警报器(在视频中进行了升级)、我需要更改寄存器0x07的4次配置并进行4次测量?