使用 AHT20 传感器(IIC 模式)在 STM32 上收集温度

      最后更新:2021-11-21 13:45:27 手机定位技术交流文章

      目录

      • 一、了解IIC协议
        • 1、IIC基础知识
        • 2、IIC总线结构
        • 3或IIC的两种方法
      • 二. 要完成代码开发,你必须首先了解AHT20芯片。
        • 1. AHT20芯片的详细情况
        • 2、代码编写
          • AHT20 数据,读数为2.1
          • 2. AHT20重置
          • AHT20 初始化
          • 阅读 AHT20 测量2.4
      • 三、效果展示
      • 四、总结
      • 参考资料

      一、了解IIC协议

      1、IIC基础知识

      IIC(综合电路)综合电路公共汽车是IICBus缩写,指公共汽车的建造。
      使用菲利普斯公式的多主题结构。
      I2C大客车用于多种目的,包括《儿童权利公约》代码的设定和验证、MBus(系统管理公交车)和PMBus(权力管理公交车)。
      IIC特点:
      二线传输
      IIC公交车是信号线最少的公交车线路。同步时钟线SCL是一条,传输数据线SDA是另一条。
      无中心主机
      国际独立调查委员会的公共汽车可与许多多边协调单位的东道主连接,每个多边协调单位可充当主模式(主模式)或奴隶模式(奴隶)。
      软件寻址
      可配置 IIC 公共汽车设备以设定地址 。
      应答式数据传输过程
      收到数据后,该装置将作出反应。提高数据传输的可靠性。
      设备可以是电子连接设备,也可以是断开设备。
      由于国际独立调查委员会使用泄漏输出(1).3 物理层特征解释了为什么为输出使用泄漏),设备连接退出对国际独立调查委员会公共汽车上的数据传输没有影响。

      2、IIC总线结构

      请添加图片描述

      1. IIC巴士的设备必须在同一地点。
      2. I2C公共汽车只有两条公共汽车线,SDA和SCL。
        每个装置的自失能装置和SCL是电线和关系:与公共汽车上任何装置的输出相连的低水平装置将减少公共汽车信号。
      3. 当公共汽车可用时,这两条路线都是高水平的。
        IIC公共汽车系统的结构是众所周知的,I2C公共汽车通过向上和向下推来连接主电源。
      4. 假设IIC上的A装置设定为推力输出,而A装置是免费的,输出是低水平的(产出GND ) 。 结果,公共汽车被迫接收GND, 水平降低到低水平, 这会影响IIC的数据传输。
        如果装置A被编程用于泄漏输出,当自由时,输出具有很高的阻力,等于电路断裂,对IIC数据传输没有影响。
      5. 占用公共汽车设备的决定是任意作出的。
        仲裁用于选择哪些设备将使用公共汽车,以防止在众多主机同时使用公共汽车时发生数据冲突。
      6. 微控制器可以用主模式(主模式)或奴隶模式(奴隶)操作。
        主模式 : 主机是主 CPU, 它从飞行器( 安装设备) 发送接收数据 。
        模式:主CPU作为接收和传送主机(挂载器)数据的工具。
        在任何一个时候,国际独立调查委员会的公共汽车只能使一个微控制器以主控制方式操作,而另一个则必须以被告方式操作。
      7. 三种传输模式
        有三种传输方式:正常模式传输率为100千比特/秒,快速模式传输率为400千比特/秒,高速模式传输率最高为3 400比特/秒,尽管大多数国际电算中心设备现在不能使用高速模式。
        集体引证:Stm32研究说明 -- -- IIC共同通讯议定书

      3或IIC的两种方法

      IIC有两种类型:硬件IIC和软件IIC。
      1.硬件IIC
      对二氯二苯乙烯硬件对等芯片的所谓《国际投资公约》外推法具有适当的《国际投资公约》驱动的电路,而且所使用的《国际投资公约》管脚也用于独特的目的。

      硬件IIC的使用
      只要定义了必要的内存,外部设置就为标准序列协议产生一个时间序列。在启用独立委员会外部设置后,只需要一个特定的登记簿1的位置,在此点,外部设置控制相应的SCL和SDA线自动生成独立委员会启动信号,消除内核直接控制踢动相关设置水平的需要,只要定义了必要的内存,就为标准序列协议产生一个时间序列。在激活独立委员会外部设置后,只需要一个特定登记簿1的位置,此时,外部设置控制相应的SCL和SDA线自动生成独立委员会启动信号,消除内核直接控制踢动水平的需要。

      2.软件IIC
      软件 I2C 通常以 GPIO 管脚为基础, 以软件控制管脚状态复制 I2C 电信波表。 直接使用 CPU 内核来控制 GPO 的低水平和高水平输出, 如 I2C 协议所要求的, 从而模拟 I2C 。

      软件I2C的使用
      在管理I2C启动信号时,有必要控制用作高输出的SCL线的全球定位系统,然后控制用作从高向低水平过渡的SDA线的全球定位系统,最后控制SCL线切换到低水平,从而产生典型的I2C启动信号。

      硬件I2C比软件I2C效率高得多,但软件I2C的多功能性更大,因为它不受脚控的限制。
      模拟 I2C 是内存如何通过 GPIO 运行; 软件模拟内存, 但硬件( 固态) I2C 是直接通过内部内存配置的。 如果您想要查看特定的硬件, 您可以查看芯片文档。 由于固态 I2C 端口已经固定, 存在差异 。

      三,如何分辨他们。

      人们可以观察与IO嘴设计相似的底部安排,如果允许IO嘴,则使用固体IIC;否则,则使用模拟。
      2。 您可以观察执行现成常规的 ICC 写入函数和日志, 或者将数据指派给发件人。 如果有的话, 它们必须是实实在在的 IIC 函数; 如果不是, 它们必须用一点点数据发送, 一点点模拟, 必须回收 。
      详情请见硬件IIC和软件IIC。

      二. 要完成代码开发,你必须首先了解AHT20芯片。

      1. AHT20芯片的详细情况

      去找更多关于AHT20芯片的信息
      在这里插入图片描述

      2、代码编写

      首先,我们可以打开先前描述的工程模板,为该项目添加必要的代码,即:用于温度收集的AHT20以外的标准32f103指南。

      AHT20 数据,读数为2.1

      2. AHT20重置

      AHT20 初始化

      阅读 AHT20 测量2.4

      请更仔细地审查我们向该项目介绍的代码。bsp_i2c.h文件中的宏定义
      #define IIC_SCL PBout(6) //SCL
      #define IIC_SDA PBout(7) //SDA
      因此,我们的温暖湿度传感器与SCL PB6、SDA PB7板相连。

      三、效果展示

      当我们燃烧软件和连接到 Dubon 线时, 我们可能会开始采样我们的温暖湿度。
      最后,我们认为:
      请添加图片描述
      请添加图片描述

      我可以看到,我呼吸了一下我们的热湿感应器, 温度发生了相当大的变化, 实验是成功的!

      四、总结

      首先,当他不知道I2C协议和芯片的内容时,他无法读懂温度和湿度值,认为该代码有问题,最后,在理解I2C协议和芯片后,他发现该代码没有问题。

      参考资料

      IIC 共同通信议定书Stm32研究说明
      硬件的IIC系统与软件的IIC系统相比是独一无二的。
      Stm32f103 温度向导到 AHT20 温度测量外的温度测量
      AHT20资料下载
      使用 I2C 接口收集温暖湿度(AHT20)
      完整工程下载

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/13669.html

          热门文章

          文章分类