STM32用于从AHT20温度湿度传感器收集数据,所获得的温度湿度值通过序列港转移(1)。

      最后更新:2021-11-20 17:14

      学习要求

      一. 利用STM32F103 完成基于I2C 协议的AHT20温度湿度传感器的数据收集工作,然后通过使用STM32F103 完成I2C 公共汽车通信协议,并在一个串口出口获得的温度湿度值。
      1) “软 I2C”和“硬件 I2C”有什么区别?
      2) 阅读AHT20的数据文件,AHT20旨在每两秒钟收集温度和湿度数据,然后通过一个序列端口将数据传送到较高级的机器(win10)。
      理解 OLED 屏幕显示器和 Han点数组编码概念,并利用 STM32F103 的 SPI 或 IIC 接口来履行下列功能:

      1. (a) 显示他们的学习编号和名称。
      2. 显示 AHT20 的温度和湿度。
      3. 长字符如「欢迎来到重庆交通大学材料网络205室! 」, 出现在上下或周围的幻灯片上, 或诗歌或歌词(理想的硬件屏幕模式)上。
        三. 利用振荡器和逻辑分析器对来自I2C、SPI和序列港的信号进行监测,以便透彻掌握这些协议原则,并将其与上述业务守则进行比较(时间不允许完成以下试验)。

      I. 理解I2C公共汽车协议

      第一,I2C协议是什么?

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

      二. I2C 的物理和礼宾级别

      ①物理层
      I2C是辅助设备的主要线路。 多个 I2C 通信设备可以连接在一起,为多个通信主机和众多通信操作员服务。 I2C 公共汽车只有两条公共汽车线,一条双向线数据线(SDA)和一条字符串时钟线(SCL )。
      ②协议层
      它主要描述通信的启动和停止信号、数据有效性、反应、仲裁、时钟同步和地址广播。

      采用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 的过程更清楚。

      二、进行温度采集

      1.连接硬件
      Stm32f103指南单元i2c分别与SCL、GND、SDA和VCC相对应。
      通过在硬件版本中的空白工程中添加程序,可以履行以下功能:
      每两秒钟就记录一次温度数据,并通过序列端口传送给顶端机器。
      首先主函数如下:
      main.c

      接下来我们拿下下面的代码文件 和主界面 把它们拼凑在一起
      usart.c

      com/I'm sorry, csdn。这篇文章是澳大利亚特别报导的一部分。 net/hh277523article/details/11397514。

      然后,通过将创建的Hex文件烧为stm32,并启动序列调试协助,就可以观察实验的结果。
      效果图如下:
      请添加图片描述
      对芯片的打击导致温度和湿度的改变,表明实验是成功的。

      三. 根据SPI的通信,OLED显示其学校号码的名称。

      1. SPI概况以及长处和短处

      https://blog.csdn.net/qq_45237293/article/details/111712565

      SPI是摩托罗拉公司引入的高速、全时同步通信总线的串行周边界面的缩略语,这是摩托罗拉公司在ADC、LCD和MCU之间通信率高的情况下常用的高速、全时同步通信总线。SPI总线系统可能直接连接到各公司提供的大量标准外围系统。界面通常使用四条线:序列时线(SCK)、主机输入/来自机器输出数据线MISO的主机输入/来自机器输入数据线MOST的输出和低级别有效机器选择线C/S(一些SPI接口芯片包括断线信号线INT或INT,其他SPI接口芯片没有机输入数据线MOSI的主机输出/来自机器输入数据线MOSI的输出)。
      SPI提供了四种交流方式,关键区别在于CSK的时钟状态,即公交车是免费的以及数据取样的时间。 此处为方便起见提出了“钟极CPOL”和“钟级CPHA”的概念。
      CSCOL是SCK信号线(即NSS线高时SCK状态和SPI通信装置自由)在SPI通信开始之前的平方信号。 CPOL = 0, SCK 自由时是低方信号线, CPOL = 1, 反向信号线是低方信号线。
      当时钟阶段 CPHA = 0时,MOSI 或 MISO 数据线上的信号会按照SCK 时钟的“奇缘”取样。当CPHA = 1时,数据线会按照SCK 时钟的“偶边缘”取样。

      2. OLED显示学校名称和学校编号。

      实验连接
      在这里插入图片描述
      显示姓名学号
      在这里插入图片描述
      字库取模
      由于 OLED 显示器使用中文字符, 需要制作中文模型, 才能获得中文的点数阵列代码, 并将其放入 Oledfont.h 文件, 该文件被调用并显示在 OLED 上 。
      在这里插入图片描述
      在这里插入图片描述
      有关该守则的更多信息,请见博客:
      根据SPI通信机制,使用了OLED显示器。
      https://blog.csdn.net/qq_45237293/article/details/111712565

      四、总结

      本次温度传感器的数据收集是为了后面将采集的温度-湿度值通过串口输出,显示学号姓名也是对根据SPI通信机制,使用了OLED显示器。的一个初级了解,本次实验虽操作简单,但是重点是要了解这些代码,也是对于I2C协议和SPI通信方式进行通信的一个过程理解。

      五、参考文献

      对不起,csdn。 这篇文章是澳大利亚特别报导的一部分。 net/hh277523article/ details/11397514。
      根据SPI通信机制,使用了OLED显示器。:
      https://blog.csdn.net/qq_45237293/article/details/111712565

      本文由 在线网速测试 整理编辑,转载请注明出处。

          热门文章

          文章分类