目录

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、实物接线

STM32F767开发板

某宝上买的温湿度模块

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总线)相关推荐

  1. STM32驱动 HTU21D温湿度传感器

    STM32驱动 HTU21D温湿度传感器 温湿度传感器模块HTU21D产品简介 基于法国Humirel公司高性能的湿度感应元件制成,新一代HTU21D温度和湿度传感器在尺寸与智能方面建立了新的标准:它 ...

  2. STM32之HTU21D温湿度传感器获取温湿度数据

    一.引脚 二.代码 iic.c文件 #include "iic.h"/* 初始化模拟IIC**/ void IIC_Init(void) {GPIO_InitTypeDef GPI ...

  3. stm32+HTU21D温湿度传感器通过usart1发送温湿度数据在串口助手显示

    stm32+HTU21D温湿度传感器 这里就不拍实物图了,我用的是下面这款HTU21D ic是stm32f103vet6 工程代码是io口模拟i2c和传感器通讯 PB6-SCL,PB7-SDA usa ...

  4. 基于STM32的DHT11温湿度传感器设计

    文章目录 前言 一.DHT11温湿度传感器是什么? 二.DHT11驱动程序详解 1.相关宏定义 2.输入输出GPIO配置 2.GPIO初始化设计 3.检测DHT11是否正常工作 4.读取DHT11数据 ...

  5. STM32与SHT1X温湿度传感器通讯

    在这次项目开发中应用到了SHT1X温湿度传感器,该系列有SHT10.SHT11和SHT15,属于Sersirion温湿度传感器家族中的贴片封装系列.包括一个电容性聚合体测湿敏感元件.一个用能隙材料制成 ...

  6. STM32 使用 SHT2x 温湿度传感器

    简介 这TM的是个超级坑的通讯过程,虽然符合IIC通讯流程,但要是你直接用IIC通讯会发现完全不是这么回事.这个是在STM32F0系列单片机上使用的范例,可以正常读取温度和湿度,主机模式和轮询模式和寄 ...

  7. arduino/Mixly使用HTU21D温湿度传感器

    一.器材 HTU21D 供电电压:1.5V-3.6V 温度测量范围:-40度到105度 arduino uno  二.接线 HTU21D arduino uno VCC 3.3V GND GND SC ...

  8. sht20中写用户寄存器_数字输出温湿度传感器HTU21D和SHT21对比评测(图文)

    超小体积的温湿度一体数字输出模块由于体积小,精度高的特点,广泛应用于手机.通讯.HVAC.医疗.环境监测.家用电器.控制板等,近日从深圳市工采网(ISweek)拿到市面上最常用的HTU21D和SHT2 ...

  9. sht20温湿度传感器原理图_温湿度传感器在孵化行业怎么应用

    随着近年来环保力度的加大,畜牧养殖行业逐渐认识到节能减排.环境控制对于畜禽养殖具有重要意义,并且节能环保控制已开始出现在孵化行业. 以前,一些家禽孵化场没有恒温恒湿的概念,他们认为孵化是一个带有孵化设 ...

最新文章

  1. ViewPage 一次滑动多页
  2. HTML中添加后退、前进、刷新的超链接
  3. Linux下如何启用MySQL数据库远程访问
  4. 032_使用ArrayDeque模拟栈结构
  5. [Issue Fixed]-分卷压缩解压:gzip: stdin: not in gzip format
  6. java中的reader_java中BufferedReader 有什么用
  7. 为什么Redis是单线程?为什么能处理大并发量?(举例不错)
  8. 为Tueri.io构建React图像优化组件
  9. oracle之创建和管理表
  10. 链表创建为什么需要使用内存分配?
  11. 未来机器人哆拉A梦身上的高科技程序应用
  12. 【python】类的封装、多态
  13. 彻底与高通谈崩?苹果被爆计划自研5G调制解调器
  14. h5下划线怎么设置_【Word技巧】毕业论文封面那条永远对不齐的下划线?
  15. 强制类型转换之(==)
  16. 现在流行「毕业式」裁员吗?
  17. Sass:基础用法学习笔记
  18. 服务器是计算机网络的信息与管理中心,网络信息中心主要职能(8页)-原创力文档...
  19. Python 视频教程下载 (全阶段)
  20. JS的onpropertychange方法怎么使用?

热门文章

  1. [C语言] for循环详解 循环 for循环实例巧解
  2. 用计算机despair,despair的用法总结大全
  3. 74HC595原理介绍
  4. 数据分析之数学基础(函数干货大全)
  5. 计算机科学美在哪些方面,揭秘美本-计算机科学专业是什么? 爱问知识人
  6. CISCO无线AP修改默认管理员用户和密码
  7. 阿里前大数据架构师:如何快速的成长为一名优秀大数据架构师
  8. vue3项目实战---知乎日报----项目搭建
  9. python 爬取音乐
  10. 液压比例溢流阀R901170278、DBET-62/200G24-8K4V