主题中讨论的其他器件: HDC2021、 HDC2080
各位专家、您好!
我的客户希望使用 HDC2022替代 HTU21DF。 使用 HTU21DF 代码、但无法从 HDC2022读取任何数据。
那么、您能否提供 ARM M4的代码? 谢谢!
BR、
戈登
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.
亲爱的戈登-
感谢您发帖。
在这里、选择 HDC2080、HDC2021或 HDC2022代替 HTU20或 HTU21是一个很好的选择、因为 HDC2器件在各个方面都优于 HTU21。
假设它们使引脚3未连接(该引脚对于 HTU21为 NC、 并且是 HDC2器件的地址行)任一器件的7位 I2C 地址都将为0x40、因此、他们应该检查的第一件事是、当发送寻址命令时、他们从其电路板上的 HDC2器件获取 ACK。
如果可以的话、那么他们应该看看在他们拥有的代码中改变命令本身、以及删除或者注释那些专门针对 HTU21的命令。
例如、在最基本的实施中-
加电后、HTU21需要器件通过寻址写入命令0xFE 进行软复位、延迟为20mSec。 HDC2器件不需要此命令、因此可以删除该命令。
HTU21要求使用寻址写入命令0xf5 (对于%RH)、延迟为40mSec 来单独读取%RH 和 temp、 然后是对两个字节数据的回读、接着是对0xF3 (针对 temp)的寻址写入、另一个延迟为40mSec、并对两个字节的数据进行回读。
相比之下、HDC2系列器件在上电后仅需3mSec 、即可使用。
最基本的实现方式是使用0x01对寄存器0x0F 进行寻址写入、后跟1.5mSec 的延迟、并且读回四个数据字节将从器件中产生温度值和%RH 值、LSByte 优先。 请参阅下面的 LSA 捕获。
=> 1.5msec 延迟 =>
HDC2确实有一个 ALERT 引脚、该引脚也可用于更高级的操作、但它们可能没有在其电路板上连接过该引脚。
此外、随附的是一些 MCU 无关代码、来自 ASC Studio (SysConfig) 、用于为地址0x40设置 HDC2、这是默认值(适用于 HTU21和 HDC2器件)
希望通过上面的说明和随附的代码示例、他们可以快速转换自己的设计。
如有任何疑问、请返回本论坛。