最后更新:2021-11-25 18:27:08 手机定位技术交流文章
了解I2C公共汽车通信协议,以及如何使用STM32F103完成AHT20温度湿度传感器的数据收集工作,使用I2C协议,并在串口出口收集的温度湿度值。
具体任务:
完成编程:温度数据每2秒钟收集一次,然后通过序列港传送到顶端机器(win10)。
I2C大巴是菲利普斯1980年代发明的双向双向双向双合成系列大巴,只需要两条线来传送与大巴连接的装置之间的数据。
I2C既是一个公共汽车线路,又是一个通信协议,公共汽车与通信协议之间的联系类似于基于这一硬件的硬件和软件,若干协议,如RS485公共汽车的MODBUS、松散的MEWTCOL和西门子的Profibus/DP,可能在同一公共汽车上运作;同样,同样的协议也可以在Ethernet等其他公共汽车线路上运行,例如Ethernet。
然而,在嵌入式开发中,通信协议可以分为两层:物理层和协议层;物理层确保物理介质的数据传输;协议层有效地界定通信逻辑,例如同一发件人和发件人的包装和解包数据的标准,例如,物理层类似于真正的道路,而协议层是一个电信网络。数据传输的打嗝,桶中的一滴。
物理层: I2C 公共汽车协议只需要两条信号线才能完成数据传输。
时钟线SCL
和信号线SDA
SCL是区分主子和奴隶的标准,与谁是主子和谁是主子无关,与SDA无关,值得指出的是,SDA的派遣不能作为区分主子和奴隶的标准。
协议层控制通信、数据有效性、响应、公共汽车仲裁、时钟同步、地址广播和其他功能的初始停止信号。
(a) 根据I2C协定,SDA和SCL在高空飞行时段都免费。
I2C协议要求SCL保持高位,自失能系统从高向低过渡,作为起始信号(启动),所有指令和数据传输从第一个信号开始。
I2C协议要求SCL保持高水平的功率,DAD从低到高过渡为停止信号(停止),所有指示和数据传输都必须以终止信号结束。
具体请见参考内容。
通常使用I2C软件。GPIO管脚
,规范低和高电解输出的SCL和SDA线,复制i2c协议时间序列。
硬件 I2C 响应芯片 I2C 用适当的 I2C 驱动电路外推, I2C 管脚也专门使用,使其比软件模拟 I2C 效率高得多; 它一般稳定,但费力。
- 芯片Stm32F103C8T6
- AHT20芯片
- 串行 USB 到 TTL
- 些许杜邦线
- 烧录软件
- 串口调试助手
先前的博客及随附安装的 URL 可以通过燃烧软件看到 。
主要代码如下:
使用 1AHT20 芯片:
2AHT20芯片的数据:
串行 USB 到 TTL与STM32芯片的连接参考之前的
博客
;
以下图表说明了AHT20芯片与STM32芯片之间的联系:
SCL-------->PB6
SDA------->PB7
AHT20芯片上的V和GND接口与SSM32芯片上的接口吻合,如下图所示:
第一,启动燃烧器软件 并在芯片中记录以下代码:
下次启动序列调试工具, 插入新的 HEX 文件, 连接到序列端口, 并在调试软件上看到温度变化 :
实验用AHT20芯片读取温度和湿度,
通过GPIO模仿的 I2C 通信协议
使用 I2C 接口收集温暖湿度(AHT20)
本文由 在线网速测试 整理编辑,转载请注明出处 。