STM32 使用HTU21D温湿度传感器(结合逻辑分析仪深入分析IIC总线)
目录
1、介绍:
2、信号:
3、使用的平台:
4、实物接线
5、实验
5.1、读写地址
5.2、软件复位
6、主程序读取温湿度
1、介绍:
1、IIC总线为半双工通讯,有两条线,时钟信号线SCL和数据线SDA,主从模式,每个从设备可以通过,从机地址进行区分。
2、其数据传输速率位于串口和SPI之间。
3、上拉电阻一般在4.7k~10k之间,通过上拉电阻接正电源。当总线空闲的时候,两根线均为高电平。
4、一般用于同一板卡上芯片之间的通信
5、允许有多个master多个slave,并且每个master都可以与所有的slaves通信(master之间不可通过I2C通信,并且每个master只能轮流使用I2C总线),多主机会产生总线裁决问题。
6、IIC设备(绝大多数)里有个固化的地址,只有在两条线上传输的值等于IIC设备的固化地址时,其才会作出响应。基本上谁控制时钟线(即控制SCL的电平高低变换)谁就是主设备。(之前面试前有准备或几个常见总线的异同,贴一下给大家参考一下,见下图:)
2、信号:
开始信号:SCL 为高电平时,SDA 由高电平向低电平跳变,开始传送数据。
结束信号:SCL 为高电平时,SDA 由低电平向高电平跳变,结束传送数据。
应答信号:接收数据的 IC 在接收到 8bit 数据后,向发送数据的 IC 发出特定的低电平脉冲(把SDA拉低),表示已收到数据。
数据位的有效性规定:SCL为高电平期间,SDA上的数据必须保持稳定
只有在SCL线上的信号为低电平的期间,SDA线上的电平才允许变化
数据传送的时候,先传传送的高位 , 每个字节传送均是高位在前面MSB
3、使用的平台:
使用的平台/硬件:正点原子的STM32F767的开发板(大同小异),温湿度传感器SHT201D(购买自某宝)
接线:温湿度传感器SHT201D 的四根线 电源3.3V的正负两根 ,另外两根就是IIC的SCL和SDA。接到了开发板的PH4/PH5(和板载的24C02共用一路IIC)
逻辑分析仪购买自某宝
4、实物接线
某宝上买的温湿度模块
5、实验
接下来我们来看一下我自己写的一个代码:
此博客主要是为了分析IIC的波形,那我们就研究一下SHT201D模块的一个启动就可以了
通过查阅SHT201D 的手册,得知
5.1、读写地址
他的写地址是0x80,还有一些命令就不一一列写了
5.2、软件复位
首先我们先使用这款芯片的时候,需要对他进行一个初始化的软件复位,我们就用逻辑分析仪分析这段波形;下图捕捉的这段波形就是上图手册中的一个时序的表达。
上图中的波形对应的的代码是:
IIC_Start();
IIC_Send_Byte(I2C_ADR_W);
err = IIC_Wait_Ack();
接下来我们来细看一下逻辑分析仪的电平:
6、主程序读取温湿度
主函数中获取温度,其中那个公式是手册中给出的:
主函数中获取湿度:
通过串口输出的数据,也就打印了温湿度的一个数据,中间对着传感器哈了一次气,可以看到湿度的响应还是比较快和敏感的
STM32 使用HTU21D温湿度传感器(结合逻辑分析仪深入分析IIC总线)相关推荐
- STM32驱动 HTU21D温湿度传感器
STM32驱动 HTU21D温湿度传感器 温湿度传感器模块HTU21D产品简介 基于法国Humirel公司高性能的湿度感应元件制成,新一代HTU21D温度和湿度传感器在尺寸与智能方面建立了新的标准:它 ...
- STM32之HTU21D温湿度传感器获取温湿度数据
一.引脚 二.代码 iic.c文件 #include "iic.h"/* 初始化模拟IIC**/ void IIC_Init(void) {GPIO_InitTypeDef GPI ...
- stm32+HTU21D温湿度传感器通过usart1发送温湿度数据在串口助手显示
stm32+HTU21D温湿度传感器 这里就不拍实物图了,我用的是下面这款HTU21D ic是stm32f103vet6 工程代码是io口模拟i2c和传感器通讯 PB6-SCL,PB7-SDA usa ...
- 基于STM32的DHT11温湿度传感器设计
文章目录 前言 一.DHT11温湿度传感器是什么? 二.DHT11驱动程序详解 1.相关宏定义 2.输入输出GPIO配置 2.GPIO初始化设计 3.检测DHT11是否正常工作 4.读取DHT11数据 ...
- STM32与SHT1X温湿度传感器通讯
在这次项目开发中应用到了SHT1X温湿度传感器,该系列有SHT10.SHT11和SHT15,属于Sersirion温湿度传感器家族中的贴片封装系列.包括一个电容性聚合体测湿敏感元件.一个用能隙材料制成 ...
- STM32 使用 SHT2x 温湿度传感器
简介 这TM的是个超级坑的通讯过程,虽然符合IIC通讯流程,但要是你直接用IIC通讯会发现完全不是这么回事.这个是在STM32F0系列单片机上使用的范例,可以正常读取温度和湿度,主机模式和轮询模式和寄 ...
- arduino/Mixly使用HTU21D温湿度传感器
一.器材 HTU21D 供电电压:1.5V-3.6V 温度测量范围:-40度到105度 arduino uno 二.接线 HTU21D arduino uno VCC 3.3V GND GND SC ...
- sht20中写用户寄存器_数字输出温湿度传感器HTU21D和SHT21对比评测(图文)
超小体积的温湿度一体数字输出模块由于体积小,精度高的特点,广泛应用于手机.通讯.HVAC.医疗.环境监测.家用电器.控制板等,近日从深圳市工采网(ISweek)拿到市面上最常用的HTU21D和SHT2 ...
- sht20温湿度传感器原理图_温湿度传感器在孵化行业怎么应用
随着近年来环保力度的加大,畜牧养殖行业逐渐认识到节能减排.环境控制对于畜禽养殖具有重要意义,并且节能环保控制已开始出现在孵化行业. 以前,一些家禽孵化场没有恒温恒湿的概念,他们认为孵化是一个带有孵化设 ...
最新文章
- ViewPage 一次滑动多页
- HTML中添加后退、前进、刷新的超链接
- Linux下如何启用MySQL数据库远程访问
- 032_使用ArrayDeque模拟栈结构
- [Issue Fixed]-分卷压缩解压:gzip: stdin: not in gzip format
- java中的reader_java中BufferedReader 有什么用
- 为什么Redis是单线程?为什么能处理大并发量?(举例不错)
- 为Tueri.io构建React图像优化组件
- oracle之创建和管理表
- 链表创建为什么需要使用内存分配?
- 未来机器人哆拉A梦身上的高科技程序应用
- 【python】类的封装、多态
- 彻底与高通谈崩?苹果被爆计划自研5G调制解调器
- h5下划线怎么设置_【Word技巧】毕业论文封面那条永远对不齐的下划线?
- 强制类型转换之(==)
- 现在流行「毕业式」裁员吗?
- Sass:基础用法学习笔记
- 服务器是计算机网络的信息与管理中心,网络信息中心主要职能(8页)-原创力文档...
- Python 视频教程下载 (全阶段)
- JS的onpropertychange方法怎么使用?