基于IIC的温度采集实验

文章目录

    • 一、实验目的
    • 二、准备工作
    • 三、基本理论
        • 1、IIC协议简介
        • 2、软件IIC与硬件IIC的区别
    • 四、实验步骤
        • 1、硬件连接
        • 2、修改例程
        • 3、查看结果

一、实验目的

  • 学习I2C总线通信协议,完成基于I2C硬件协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。
  • 编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。

二、准备工作

1、stm32核心板

2、AHT20温度传感器

3、ST-link下载线、USB转TTL线

三、基本理论

1、IIC协议简介

? I2C通讯协议(Inter—Integrated Circuit)是由Philps公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。
? 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

2、软件IIC与硬件IIC的区别

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

软件IIC:软件I2C一般是用GPIO管脚,用软件控制管脚状态以模拟I2C通信波形

区别

  • 硬件IIC用法比较复杂,模拟IIC的流程更清楚一些。
  • 硬件IIC速度比模拟快,并且可以用DMA
  • 模拟IIC可以在任何管脚上,而硬件只能在固定管脚上。

四、实验步骤

1、硬件连接

实物连接如下图所示:

从keill里面进行复制的,会出现汉字乱码的现象,从该处复制到keil里,汉字不会乱码。

3、查看结果

编译下载后,打开端口调试助手可查看输出温湿度结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ziAiJeIv-1608613366501)(E:大三学习嵌入式系统开发第二次实验image2.gif)]

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月20日
下一篇 2020年11月20日

相关推荐