SHT20 IIC 寄存器概述
** 注:部分内容来自SHT20芯片手册翻译 **
1、寄存器列表
| 名称 | 指令(bin) | 寄存器内容(hex) |
|---|---|---|
| 主机模式(Trigger T measurement hold master) | 1110’0011 | 0xe3 |
| 主机模式(Trigger RH measurement hold master) | 1110’0101 | 0xe4 |
| 从机模式(Trigger T measurement no hold master) | 1111’0011 | 0xf3 |
| 从机模式(Trigger RH measurement no hold master) | 1111’0101 | 0xf4 |
| 写入用户寄存器(Write user register) | 1110’0110 | 0xe6 |
| 读取用户寄存器(Read user register) | 1110’0111 | 0xe7 |
| 软复位(Soft reset) | 1111’1110 | 0xfe |
2、User register
User 寄存器内容如下图所示,需要注意的是 保留位(Reserver)不允许被改变。但是默认值可能会不一样, 所以,我们在配置User寄存器的时候,必须要先读取一遍User 寄存器.

如下图所示,是一个读写 User Register的example。

上图中白色块由MCU发出,灰色块由 Sensor 发出。, 该流程设置的分辨率为RH8bit,T12bit。
参考代码如下图所示:
/*
* function : set resolution
* paragram : res [RH12_T14],[RH8_T12],[RH10_T13],[RH11_T11]
* return : null
* by zhangpeng
*/
void SHT20_SetResolution(uint8_t res)
{
IIC_Start();//S
IIC_SendByte(IIC_WRITE_ADDR);//I2C Addr + Write
IIC_SendByte(REG_READ_USER);//Read Register
IIC_Start();//S
IIC_SendByte(IIC_READ_ADDR);//I2C Addr + Read
Register = IIC_RecvByte();//Read Register content
IIC_NOACK();//NoAck
IIC_Start();//S
IIC_SendByte(IIC_WRITE_ADDR);//I2C Addr + Write
IIC_SendByte(REG_WRITE_USER);//Write Register
//修改bit7
if ((res == RH12_T14)||(RH8_T12 ==res))
{
Register = Register & 0x7F;
}
else
{
Register = Register | 0x80;
}
//修改bit0
if ((res == RH12_T14)||(RH10_T13 ==res))
{
Register = Register & 0xFE;
}
else
{
Register = Register | 0x01;
}
IIC_SendByte(Register);//Register content
IIC_Stop();//P
}
3、Soft Reset
Soft Reset 被用作软复位Sensor,当读取的数据出现错误的时候,可以通过发送 SoftReset 进行软重启。如下图所示:

参考代码:
/*
* function : soft reset SHT20
* paragram : null
* return : null
*/
void SHT20_SoftReset()
{
IIC_Start();//S
IIC_SendByte(IIC_WRITE_ADDR);//I2C Addr + Write
IIC_SendByte(REG_RESET); //Soft Reset
// todo :delay 10us
}
SHT20 IIC 寄存器概述的更多相关文章
- SHT20 IIC总线驱动概述
SHT20温湿度传感器使用iic总线的驱动方式,以下资料参考SHT20 datasheet总结 1.IIC总线 Start信号 IIC总线的起始信号以SDA由高电平变为低电平,等待5us以上,再由SC ...
- 对 IIC 总线的理解、调用函数以及常见面试问题
一.IIC 总线概述: IIC 即Inter-Integrated Circuit(集成电路总线) I2C总线是PHLIPS公司推出的一种串行总线, I2C总线只有两根双向信号线.一根是数据线SDA, ...
- 基于STM8的IIC协议--实例篇--时钟模块(DS3231)读取
1. 综述 由上篇博客可知道IIC协议如何用代码实现,本篇博客就不涉及协议内容,只讲解如何使用. 本次的实验传感为:DS3231(时钟模块),对于时钟模块的具体信息我也就不多介绍,大家可以自行度娘,具 ...
- s3c2440的IIC控制
在tq2440和mini2440上都连接着EEPROM 它们作用也不过測试I2C总线能否用. 当中在mini2440上EEPROM型号是 AT24C08,在tq2440上这个型号是 AT24C02A. ...
- IIC挂死问题解决过程
0.环境:arm CPU 带有IIC控制器作为slave端,带有调试串口. 1.bug表现:IIC slave 在系统启动后概率挂死,导致master无法detect到slave. 猜测1:认为IIC ...
- S3C2440A特殊寄存器
S3C2440A特殊寄存器 特殊寄存器有: 输入输出端口 存储器控制器 NANDFLASH 看门狗定时器 时钟和电源管理 PWM定时器 UART USB设备 中断控制器 DMA LCD控制器 RTC ...
- iCamera App Kit 使用说明
一.概述 1.前言 iCamera是层层惊涛设计室推出的一款轻量级的摄像头开发调试工具,该工具可以用于市面上绝大多数摄像头的配置.调试.图像采集. iCamera主要作为摄像头开发调试工具,暂时不针对 ...
- HDMI之CEC DDC学习笔记(可能有误)
1 HDMI的音视频通路,有待学习: 2 DDC通路,大致是个IIC接口,读取上游器件的EDID或者E-EDID数据: EDID的前128字节数据格式如下:(可能有不同版本,格式可能有区别)
- DOS程序员手册(九)
第14章参考手册概述 本书余下的章节将向读者们介绍BIOS.DOS各种各样API函数和服务,作为一名程 序员,了解和掌握这些知识是很有好处的.在所介绍的参考手册中,每部手册都汇集了大 量的资源 ...
随机推荐
- jQuery html5Validate基于HTML5表单验证插件
更新于2016-02-25 前面提到的新版目前线上已经可以访问: http://mp.gtimg.cn/old_mp/assets/js/common/ui/Validate.js demo体验狠狠地 ...
- 10-能不能组成m
/* 找数达人 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 小明最近做出了一道题:如何在一组数 ...
- 现代编译原理--第二章(语法分析之LR(1))
(转载请表明出处 http://www.cnblogs.com/BlackWalnut/p/4472772.html) 前面已经介绍过LL(1),以及如何使用LL(1)文法.但是LL(K)文法要求在 ...
- KMP(2)
KMP 算法(2):其细微之处 2017 年 05 月 13 日 • 技术 系列文章目录 KMP 算法(1):如何理解 KMP KMP 算法(2):其细微之处 本篇来谈一谈 KMP 的一些细微之处,直 ...
- 还不好好读书吗?清华3D录取通知书出炉,还能动!
近日,清华大学2018录取通知书“亮相”!看完后,网友直呼:哪里可以买到? 打开录取通知书 3D“二校门”跃然纸上 由清华师生共同打造.手工定制.独一无二的2018新版录取通知书来了!在新版录取通知书 ...
- [Selenium] CSS3 选择器
在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素. "CSS" 列指示该属性是在哪个 CSS 版本中定义的.(CSS1.CSS2 还是 CSS3.) 选择器 例子 例子 ...
- Reactor 模型(一)基本并发编程模型
Reactor 模型(一)基本并发编程模型 Netty 系列目录 (https://www.cnblogs.com/binarylei/p/10117436.html) 在讲解 Reactor 线程模 ...
- WebService安全加密
众所周知,WebService访问API是公开的,知道其URL者均可以研究与调用.那么,在只允许注册用户的WebService应用中,如何确保API访问和通信的安全性呢?本文所指的访问与通信安全性包括 ...
- Ckeditor上传图片返回的JS直接显示出来,未执行!!!
Ckeditor上传图片网上有很多教程. 下面是我今天下午遇到的一个坑...自己挖的坑. 在conotroller里 我开始习惯性的 response.setContentType("app ...
- 2018.08.30 NOIP模拟 kfib(矩阵快速幂+exgcd)
[输入] 一行两个整数 n P [输出] 从小到大输出可能的 k,若不存在,输出 None [样例输入 1] 5 5 [样例输出] 2 [样例解释] f[0] = 2 f[1] = 2 f[2] = ...