最后更新:2021-11-20 15:39
1. 研究I2C公共汽车通信协议,利用STM32F103完成AHT20温度湿度传感器的数据收集工作,使用I2C协议,然后在I2C公共汽车通信协议的一连串口出口获得的温度湿度值,利用STM32F103完成AHT20温度湿度传感器的数据收集工作,并通过I2C协议出口收集的温度湿度值。
1) “软 I2C”和“硬件 I2C”有什么区别?
2) 阅读AHT20的数据文件,AHT20旨在每两秒钟收集温度和湿度数据,然后通过一个序列端口将数据传送到较高级的机器(win10)。
集成电路国际客车是NXP(前PHLIPS)设计的两线系列客车,用于连接微控制器及其外围,主要用于中央控制器与装置之间的主要通信,在数据量低的情况下,用于传送距离短的传输,在任何特定时间只有一个功能,如主机。
CPU与索赔的IC之间的双向通信以及IC之间的双向通信,在高速IIC公共汽车上往往达到或超过400千bps。
由于IIC的设计是为了与低速装置连接,其传输率与SPI的传输率不同。
I2C最重要的功能如下:
I2C公共汽车的实际连接极为基本,分别由SDA(单数据线)和SCL(单时钟线)和SCL(单时钟线)以及上拖和上拖阻力组成,通信的概念是通过操纵SCL和SDA线路的高低时间序列来传输数据,以生成I2C公共汽车协议所需的信号。当公共汽车是空的时,SCL和SDA被拉上,Rp被拉上以保持SDA和SCL
I2C通讯是半双倍的,只有一条SDA线路和单向通讯,485条通讯是半双倍通讯,而SPI和uart通讯是全时通讯。
主机和从机的概念:
主机负责全系统的工作协调和分配,具体活动通常通过接受主机的指示进行,数据则通过公交车连接进行交换。
主要订单由东道方发出,订单的接收人称为机器。
在数据传输期间,I2C总线产生三种信号:启动信号、终端信号和响应信号。
开始信号当短链氯化石蜡处于高水平时,自失能系统从高水平向低水平开关,并开始传输数据。
结束信号当短链氯化石蜡处于高水平时,自失能系统会从低水平跳跃到高水平,有效地终止数据传输。
应答信号收到 8 比特 数据后, IC 接收数据, 并将指定的低水平脉冲发送到 IC 发送数据, 信号接收数据 。 CPU 向控制单位发送信号, 等待控制单位的响应信号, CPU 接收响应信号, 并决定是否继续发送信号 。
需要启动信号,最终信号和响应信号可能被拒绝。
IIC分为软件IIC和硬件IIC
单股系统两个I/O港口的等同国际电算系统称为软件IIC通信,管道状态由软件控制,以复制I2C通信波表,登记册由软件控制。
直接使用CPU内核来控制全球定位系统组织在I2C协议所要求的低层次和高层次的输出,从而模拟I2C。
控制用作SCL线的GPS的高水平输出和用作SDA线的GPS高到低水平开关,后者是控制I2C线启动信号所需的SDA线,然后对这一期间SCL线向低到低水平传输的过渡进行管理,从而导致标准I2C启动信号的输出。
硬件电路,硬件 I2C 响应芯片上的外部 I2C, 配有适当的 I2C 驱动电路, I2C 管基也使用专用,硬件(硬件) I2C 由直接呼叫内部储户配置。
STM32芯片直接使用外部I2C硬件。
只要定义了必要的内存,外部设置就为标准序列协议产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 启动信号,消除内核直接控制踢相关设置的电高度的需要,只要定义了必要的内存,标准序列协议就产生一个时间序列。在激活 I2C 外部设置后,只需要一个登记册 1 的位置,在此点,外部设置控制相应的 SCL 和 SDA 线自动生成 I2C 初始信号,消除内核直接控制踢电高度的需要。
硬件I2C比软件I2C效率高得多,但软件I2C的多功能性更大,因为它不受脚控的限制。
两个博客可以用来学习更多关于 I2C 的信息。
[1] IIC原则如此复杂,值得研究。
[2] 这16个插图完全理解I2C协议。
每两秒钟收集一次温度数据,然后通过序列端口传送给顶端机器。
AHT20温度传感器
串口调试助手
关于AHT20芯片的更多信息,请见产品介绍文件的正式副本。
照片来源:http://ww. un. org/I'm sorry, asong。
(1) AHT20芯片的应用read_AHT20_once函数
(2) 阅读AHT20芯片的数据read_AHT20函数
足以形成一个成功的校准

亲爱的,我不知道你在说什么,这篇文章是我们特别报导全球之声网络.com/s/1z1SybDqb_6V9veqqLs7Q的一部分。
提取码:o72s
温湿度传感器接法
本程序软件中安装了I2C,并使用了GPIO。PB6,PB7。具体定义代码如下
#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
#define READ_SDA PBin(7)
SCL链接到PB6,而SDA链接到PB7。
如果硬件 I2C 用于此目的, 则可以显示 STM32 原则图表。 硬件 I2C 接口是可见的。 Stm32mini 开发委员会的野火 I2C 界面是 PA2, PA3, 硬件 I2C 可按上述要求定制 。
在这种情况下,我使用 XCOM 序列调试辅助器 将波特的费率改为115,200, 并进入序列港口查看数据。
保持传感器导致温度大幅上升。
随着环境湿度的变化,同样的湿度也发生了变化。
I2C总线支持多个微处理器和不同的外围装置,如存储器、LED和LCD驱动器以及A/D和D/A转换器。 为了保证可靠的数据传输,总线只能在任何特定时间由一个主机控制,而当总线免费时,微处理器应该发送数据。
这场实验极大地有利于全面掌握I2C公共汽车协议和使用AHT20温度湿感应器!
参考
[1]
https://blog.csdn.net/as480133937/article/details/105366932
[2]
https://blog.csdn.net/u010632165/article/details/109188507
本文由 在线网速测试 整理编辑,转载请注明出处。