基于I2C的AHT20温湿度传感器的数据采集
- 一、I2C简介
- 二、硬件I2C与软件I2C的区别
- 三、实现I2CAHT20温湿度传感器的数据采集
-
- 1、AHT20简介
- 2、配置函数库,编写函数
- 3、最终结果展示
- 四、总结
一、I2C简介
IC( Inter– Integrated Circuit)总线是一种由 PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。它是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。
在CPU与被控I2C之间、I2C与I2C之间进行双向传送,高速IC总线一般可达400kbps以上。 I2C总线在传送数据过程中共有三种类型信 ,它们分别是:开始信 、结束信 和应答信 。
- 开始信 :SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
- 结束信 :SCL为高电平时,SDA由低电平向高电平跳变,结東传送数据。
- 应答信 :接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲表示已收到数据。CPU向受控单元发出一个信 后,等待受控单元发出一个应答信 ,CPU接收到应答信 后,根据实际情况作出是否继续传递信 的判断。若未收到应答信 ,由判断为受控单元出现故障。
这些信 中,起始信 是必需的,结束信 和应答信 ,都可以不要。
stm32(正点原子)的SLC和SDA的连接如下:
2、配置函数库,编写函数
参考 正点原子STM32开发板第27章 IIC实验
step0:驱动代码(官 下载),下载AHT20.c和AHT20.h,官 都有,另外最重要的还是I2C可以参考原子的代码在myiic下就是关于i2c的代码。
对于正点原子的精英版,其SCL和SDL分别对应的就是PB6和PB7,我们用普通IO口来模拟I2C的功能,来实现功能。
step3: 编译连接,烧入程序
硬件如下
四、总结
这次的学习我了解了什么是硬件I2C什么是软件I2C,通过对AHT20的配置与实验更加了解了如何使用I2C。获益匪浅。
参考
https://blog.csdn.net/weixin_42048417/article/details/80683556
http://www.aosong.com/products-61.html
https://zhidao.baidu.com/question/693765215942559364.html
https://blog.csdn.net/toopoo/article/details/80053929
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!