通过 I2C 接口和旧显示收集的温度湿度(AHT20)

      最后更新:2021-11-28 04:51:15 手机定位技术交流文章

      文章目录

        • 一、I2C总线协议
          • 1. I2C协议到底是什么?
          • 两项I2C议定书的物理和议定书层
          • 一.3 I2C软件和硬件
        • 二. 执行AHT20收集程序
        • 温度测量 - OLED 显示
          • 三.1 包含 OLED 显示代码
          • 三.2. 包括功能代码。
          • 3.3 结果展示
        • 四、参考文献

      一、I2C总线协议

      1. I2C协议到底是什么?

      Philips发明了I2C通讯协议(Inter-In综合电路),现在该协议广泛用于系统内许多集成电路(IC)之间的通讯,因为它的脚足较少,硬件简单且可扩缩,不需要USART和CAN等外部接收和发送设备。

      两项I2C议定书的物理和议定书层

      物理层:
      I2C是辅助设备的主要线路。 多个 I2C 通信设备可以连接在一起,为多个通信主机和众多通信操作员服务。 I2C 公共汽车只有两条公共汽车线,一条双向线数据线(SDA)和一条字符串时钟线(SCL )。

      协议层:
      它主要描述通信的启动和停止信号、数据有效性、反应、仲裁、时钟同步和地址广播。

      一.3 I2C软件和硬件

      软件I2C:
      直接使用CPU内核来控制全球定位系统组织在I2C协议所要求的低层次和高层次的输出,从而模拟I2C。

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

      硬件I2C:
      I2C外部硬件直接用于STM32芯片。

      硬件I2C的使用
      只要定义了必要的内存,外部设置就为标准序列协议产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 启动信号,消除内核直接控制踢相关设置的电高度的需要,只要定义了必要的内存,标准序列协议就产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 初始信号,消除内核直接控制踢电高度的需要。

      区别:
      硬件 I2C 直接利用外部设置来控制基点,从而最大限度地减少CPU负担。 然而,硬件 I2C 有义务使用特定的固定拖曳作为SCLs和SDAs, 而软件则使用任意的GPIO来复制I2C, 后者比较灵活。 硬件 I2C 的使用更为复杂,软件 I2C 的过程更清楚。

      二. 执行AHT20收集程序

      获取有关AHT20芯片的信息。
      请从官方下载中获取相关的产品介绍文件,以了解更多详情。
      http://www.aosong.com/class-36.html
      具体代码添加过程
      打开一个空项, 在野火提供的示例代码中仅包含一个固态仓库。 将代码添加到项目中, 代码的具体内容会在以下链接中引用 :
      https://blog.csdn.net/hhhhhh277523/article/details/111397514

      主要的代码分析:

      2. AHT20芯片数据读数

      线路接法:

      GPIO上岗技术是PB6,PB7,这是由于这一应用中使用了软件I2C的结果。
      #define SDA_IN() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)8<<28;}
      #define SDA_OUT() {GPIOB->CRL&=0X0FFFFFFF;GPIOB->CRL|=(u32)3<<28;}
      #define IIC_SCL PBout(6) //SCL
      #define IIC_SDA PBout(7) //SDA
      #difine READ_SDA PBIN(7) 结果,SCL与PB6连接,而SDA与PB7链接。 如果为此使用了硬件I2C链接,请检查STM32的示意图,检查硬件I2C接口,野火Stm32mini开发委员会I2C接口是PA2,PA3,如果硬件I2C要阅读数据,按前文所述配置。

      运行结果:
      在这里插入图片描述

      温度测量 - OLED 显示

      三.1 包含 OLED 显示代码

      在这里插入图片描述
      com/Sunlight-Dazzling/stm32_AHT20_OLED/tree/main/User/usart。

      三.2. 包括功能代码。

      请接受我的道歉,bsp_i2c。

      我不知道你们在说什么 但我不知道你们在说什么 但我不知道你们在说什么 但我不知道你们在说什么
      在这里插入图片描述

      main函数:

      3.3 结果展示

      在这里插入图片描述

      四、参考文献

      使用 STM32 - OLED 显示的温度测量
      使用 I2C 接口收集温暖湿度(AHT20)

      完整代码是:https://pan.
      提取码:2000

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

          热门文章

          文章分类