温湿度传感器采集

本文介绍了基于STM32的AHT20温湿度传感器数据采集,通过硬件I2C协议进行通信,每2秒采集一次数据并经串口发送至Win10上位机。内容包括软件I2C与硬件I2C的区别,硬件连接方法以及关键代码示例。
摘要由CSDN通过智能技术生成

基于I2C硬件协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。

一、什么是“软件I2C”和“硬件I2C”

**软件I2C:**模拟I2C 是通过GPIO,软件模拟寄存器的工作方式,而硬件(固件)I2C是直接调用内部寄存器进行配置

**硬件I2C:**硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的

说明:硬件I2C的效率要远高于软件的,而软件I2C由于不受管脚限制,接口比较灵活。
**区别:**软件I2C是程序员使用程序控制SCL,SDA线输出高低电平,模拟I2C协议的时序。一般较硬件i2c稳定,但是程序较为繁琐,但不难。
硬件I2C程序员只要调用I2C的控制函数即可,不用直接的去控制SCL,SDA高低电平的输出。但是有些单片机的硬件I2C不太稳定,调试问题较多。

二、每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)

(一)需要的实验器材及软件:
野火调试助手 keil AH20温湿度传感器
(二)硬件连接
注意引脚的对应连接
VCC→3V3,GND→GND,SCL→PB6,SDA→PB7
(三)主要代码块
main.c

   #include "stm32f10x.h"
#include "usart.h"
#include "delay.h"
#include "bsp_i2c.h"


int main(void)
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值