温湿度传感器SHT20驱动代码

SHT20温湿度传感器

引脚接口定义:

接口定义

传感器通讯:

1、启动传感器

第一步,将传感器上电,电压为所选择的VDD电源电压 (范围介于2.1 V与3.6 V之间)。上电后,传感器最多需要15毫秒时间(此时SCL为高电平)以达到空闲状态,即做好准备接收由主机(MCU)发送的命令。启动时的最大电流消耗为350µA。

2、启动/停止时序

每个传输序列都以 Start 状态作为开始并以Stop 状态作为结束。
启动传输状态图
如图:启动传输状态(S)-当 SCL 为高电平时,SDA 由高电平转换为低电平。开始状态是由主机控制的一种特殊的总线状态,指示从机传输开始(Start 之后,BUS 总线一般被认为处于占线状态)。
停止传输状态图
如图:停止传输状态(P)-当 SCL 高电平时, SDA 线上从低电平转换为高电平。停止状态是由主机控制的一种特殊的总线状态,指示从机传输结束(Stop 之后,BUS 总线一般被认为处于闲置状态)
####3、 发送命令
在启动传输后,随后传输的 I2C 首字节包括 7 位的I2C 设备地址(B-范例地址‘1000’000’)和一个 SDA方向位(读 R: ‘1’,写 W: ‘0’)。在第 8 个 SCL时钟下降沿之后,通过拉低 SDA 引脚(ACK 位),指示传感器数据接收正常。在发出测量命令之后( ‘1110’0011’代表温度测量,
‘1110’0101’代表相对湿度测量), MCU 必须等待测量完成。
基本的命令在下表中进行概述。有两种不同的方式可选,主机模式或非主机模式。
RH 代表相对湿度、T 代表温度

4、主机/非主机模式

MCU 与传感器之间的通讯有两种不同的工作方式:主机模式或非主机模式。在第一种情况下,在测量的过程中, SCL 线被封锁(由传感器进行控制),在第二种情况下,当传感器在执行测量任务时,SCL 线仍然保持开放状态,可进行其他通讯。非主机模式允许传感器进行测量时在总线上处理其他 I2C 总线通讯任务。

主机模式
在主机模式下测量时,SHT2x 将 SCL 拉低强制主机进入等待状态。通过释放 SCL 线,表示传感器内部处理工作结束,进而可以继续数据传送。
主机模式
主机通信模式时序-灰色部分由 SHT2x 控制。如果要省略校验和(CRC)传输,可将第 45 位改为 NACK,后接一个传输停止时序(P)
在非主机模式下,MCU 需要对传感器状态进行查询。此过程通过发送一个启动传输时序,之后紧接着是如上图(停止传输状态图)所示的 I2C 首字节(1000’0001)来完成。如果内部处理工作完成,单片机查询到传感器发出的确认信号后,相关数据就可以通过 MCU 进行读取。如果测量处理工作没有完成,传感器无确认位(ACK)输出,此时必须重新发送启动传输时序。
无论哪种传输模式,由于测量的最大分辨率为 14位,第二个字节 SDA 上的后两位 LSBs(bit43 和bit44)用来传输相关的状态信息。两个 LSBs 中的 bit1表明测量的类型(’0’温度; ‘1’:湿度)。bit0 位当前没有赋值

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值