SHTC3自学笔记
一、SHTC3介绍
SHTC3是一款低功耗温湿度传感器,温度的采集范围为-40℃~125℃,湿度的采集范围为 0%~100%。
I2C的器件地址只有一个,如图2所示。
二、读写SHTC3
1、写入数据的步骤如下:
1)IIC发送器件地址+读/写位,器件地址如图2所示。如:写0xE0(11100000)。
2)IIC发送需要写入的指令(两个字节,分两次发送)。如发送唤醒指令,则连续发送0x35,0x17。
2、读取的步骤如下:
1)IIC发送器件地址+读/写位。如:读0xE1(11100001)。
2)IIC连续接收6个字节的数据。
三、SHTC3的寄存器
SHTC3只有1个16位寄存器,所有指令都是直接写进这个寄存器的,很简单,不用再写入寄存器地址了。关于可以指令,我这里只讲几条比较重要的指令,其他不常用的就不介绍了,你们可以看数据手册,具体介绍如下:
1、睡眠指令(数值:0xB098):让SHTC3进入睡眠模式,该模式下耗电更少。
2、唤醒指令(数值:0x3517):SHTC3如果处于休眠状态,需要先执行唤醒指令才能开始采集温湿度。
3、测量指令(数值:看下表):让SHTC3进行温湿度采集。采集有多种模式选择。每一次采集都会同时采集温度和湿度,然后把采集的数据放到寄存器里面,可以自行选择先存放温度还是湿度。可以使用时钟拉伸,如果使用时钟拉伸的话,那么发送完测量命令之后,在SHTC3测量温度湿度数据的过程中,SHTC3会拉低I2C的时钟线SCL,通过这样来禁止主机发送命令给SHTC3,只有当SHTC3完成温度湿度数据测量时,SHTC3才会释放时钟线SCL。也可以选择正常模式或者低功耗模式。具体指令如表1所示。
4、读取ID(数值:0xEFC8):通过读取ID可以判断主机和SHTC3通讯是否正常。
5、软复位(数值:0x805D):对SHTC3进行软件复位。
四、采集数据的操作步骤
1、唤醒SHTC3:先发送写入指令(0xE0),再发送唤醒指令高位(0x35),再发送唤醒指令低位(0x17)。
2、等待唤醒:数据手册上写的最大唤醒时间是240us,等待的时间大于这个就行了。
3、发送采集指令:先发送写入指令(0xE0),再发送采集指令的高位和低位。采集指令有多个,根据需要自行选择。
4、接收数据:发送读取指令(0xE1),连续接收6个字节数据。如果采集的指令是先存温度,那么这6个字节的第1-2个字节就是温度数值,第3个字节是温度校验。第4-5个字节是湿度数值,第6个字节是湿度校验。如果采集的指令是先存湿度,则前3个字节和后3个字节相反。
5、进入睡眠:发送写入指令,再发送睡眠指令进入睡眠。
详细的操作流程可以参考图4。
https://download.csdn.net/download/shenzhen_zixian/11712590