基于STM32并通过I2C连接的AHT20温度和湿度传感器。

      最后更新:2021-11-26 09:44:48 手机定位技术交流文章

      目录

      • 一.I2C总线协议
      • 二. AHT20数据收集程序的实施情况
      • 三.总结

      一.I2C总线协议

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

      二. I2C 的物理和礼宾级别
      ①物理层
      I2C是辅助设备的主要线路。 多个 I2C 通信设备可以连接在一起,为多个通信主机和众多通信操作员服务。 I2C 公共汽车只有两条公共汽车线,一条双向线数据线(SDA)和一条字符串时钟线(SCL )。
      I2C通讯装置的共同连接器(参考野火信息)
      在这里插入图片描述
      ②协议层
      它主要描述通信的启动和停止信号、数据有效性、反应、仲裁、时钟同步和地址广播。

      采用I2C有三种途径:硬件I2C和软件I2C。
      ①硬件I2C
      STM32芯片直接使用外部I2C硬件。

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

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

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

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

      二. AHT20数据收集程序的实施情况

      程序代码:
      链接:https://github.com/Sunlight-Dazzling/stm32-AHT20/tree/master.com/Sunlight-Dazzling/stm32-AHT20/tree/master.com/Sunlight-Dazzling/stm32-AHT20/tree/master。

      编译烧录
      在这里插入图片描述

      三.总结

      通过了解I2C协议、阅读代码和阅读替换代码,加快热湿链是可行的。

      参考连接:
      https://blog.csdn.net/qq_43279579/article/details/111597278

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

          热门文章

          文章分类