SHT30和SHT31程序是一样的 手册是一样的 寄存器是一样的 操作都是一样的。
唯一 不同点是:SHT31的湿度波动小,测量较准确。
推荐打开SHT3X的周期测量模式,然后一直循环读取寄存器即可,比较省心。
SHT3X的湿度老是动,看了手册才知道是固有缺陷。
最近做了个这个:
接四根线即可。ADDR默认已经被接到GND。SCL 和SDA 已经默认有上拉电阻。
湿度数值会飘动是正常的:
SHT31性能更好:
当在推荐的正常温度和湿度范围(分别为5℃–60℃和20%相对湿度–80%相对湿度)内工作时,传感器表现出最佳性能。长期暴露在正常范围之外的条件下,特别是在高湿度下,可能会暂时抵消相对湿度信号(例如,60小时后相对湿度保持在80%以上)。回到正常的温度和湿度范围后,传感器将自动慢慢回到校准状态。长期暴露在极端条件下可能会加速衰老。为了确保湿度传感器的稳定运行,必须满足文件“贴片封装SHTxx组件”中“储存和处理说明”一节中关于暴露于挥发性有机化合物的条件。请注意,这不仅适用于运输和制造,也适用于SHT3x-DIS的运行。
Please note that only the 7 MSBs of the I2C Read/Write
header constitute the I2C Address.
报警引脚可用于连接微控制器的中断引脚。引脚的输出取决于相对于可编程限值的相对湿度/温度读数。其功能将在单独的应用笔记中解释。如果不使用,此引脚必须保持悬空。当满足报警条件时,该引脚切换到高电平。表3列出了最大行驶载荷。请注意,根据流动的电流量,可能会发生自发热。如果报警引脚仅用于开关晶体管,可以防止自热。
复位引脚可用于产生传感器的复位。需要350 ns的最小脉冲持续时间来可靠地触发传感器的复位。它的功能在第4节中有更详细的解释。如果不使用,建议连接到VDD。
单次数据采集模式的测量命令在这种模式下,一个发出的测量命令触发一个数据对的采集。每个数据对由一个16位温度值和一个16位湿度值(按此顺序)组成。在传输过程中,每个数据值后面总是跟着一个循环冗余校验校验和,参见第4.4节。在单发模式下,可以选择不同的测量命令。16位命令如表8所示。它们在重复性(低、中和高)和时钟展宽(使能或禁用)方面有所不同。重复性设置会影响测量持续时间,从而影响传感器的整体能耗。这在第0节中有所解释。
单次测量:
单次测量读取:
传感器完成测量后,主机可以通过发送一个启动条件和一个I2C读取头来读取测量结果(相对湿度和温度对)。传感器将确认接收到读取头,并发送两个字节的数据(温度),后跟一个字节的循环冗余校验校验和,以及另外两个字节的数据(相对湿度),后跟一个字节的循环冗余校验校验和。微控制器必须用确认条件确认每个字节,传感器才能继续发送数据。如果传感器在任何字节的数据后没有收到主机的确认,它将不会继续发送数据。传感器将首先发送温度值,然后发送相对湿度值。收到湿度值的校验和后,应发送NACK和停止条件(见表8)。如果I2C主机不感兴趣,它可以在任何数据字节后以NACK条件中止读传输以便节省时间。如果用户需要湿度和温度数据但不想处理CRC数据,建议用CRC字节读取数据的两个温度字节(不处理CRC数据);读取两个湿度字节后,可以使用带有NACK的中止读取传输。
周期性数据采集模式的测量命令:
在这种模式下,一个发出的测量命令产生一个数据流对。每个数据对由一个16位温度值和一个16位湿度值(按此顺序)组成。在周期模式下,可以选择不同的测量命令。相应的16位命令如表9所示。它们在重复性(低、中和高)和数据采集频率(每秒0.5、1、2、4和10次测量,mps)方面有所不同。在此模式下不能选择时钟拉伸。数据采集频率和重复性设置会影响测量持续时间和传感器的电流消耗。这在本数据表的第0节中有所解释。如果在传感器忙于测量时发出测量命令(测量持续时间见表4),建议首先发出中断命令(见第4.8节)。一旦接收到中断命令,传感器将完成正在进行的测量,并进入单发模式。
周期测量(博主推荐这个):
强制让停的指令:
软件复位指令:
CRC校验方式:
结果转换:
csharphttps://docs.qq.com/sheet/DUEdqZ2lmbmR6UVdU?tab=BB08J2
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!