本文来源电子发烧友社区,作者:少年阿炳, 帖子地址:https://bbs.elecfans.com/jishu_2246563_1_1.html 本次内容包括 1.使用模拟IIC点亮OLED屏幕,并读取DHT11的温湿度显示在OLED屏上 2.硬件IIC非中断的使用 首先是模拟IIC的使用 模拟IIC就是使用单片机控制IO口输出高低电平模拟实际IIC开始,结束,数据发送等的相应规则达到点亮OLED的目的。所以最重要的就是如何配置IO口已经输出高低电平。 将需要的IO口配置成输出模式 使用GPIO_Write()函数输出高/低电平
之后就是模拟开始信号,结束信号,响应信号,数据发送,命令发送等。我这里是将现成可用的STM32代码移植过来,然后做了对应的修改。详细可以查看附件1. 特别说明:我这里的响应信号也是模拟的,并不是真读取OLED的返回。 DHT11温湿度的读取 DHT11的数据是通过单总线实现的。数据读取信号以及返回的温湿度值都是通过一根数据线完成,因此需要对同一个IO口先进行输出配置,然后进行输入配置。
硬件IIC使用的注意事项 在用模拟IIC点亮OLED后,我寻思着使用以下CSM32自带的硬件IIC点亮OLED, 使用的是非中断模式,启动硬件IIC使用的I2C_Init_case1()函数。
特别说明一下从机地址的配置形式,因为此线使用模式IIC时从机地址都是0x78,所以到了硬件IIC,我想当然配置成了0x78,这样是错误的。 从机地址的bit0位需要根据READ或者WRITE分别配置成1/0 一开始我将地址配置成0x78后,通过逻辑分析仪读取到的SDA变成了0xF0(11110000),也就是0x78(01111000)左移了一位,也就是说CSM32的硬件IIC将我的地址左移了一位,然后在bit0插入了一位0。所以在初始化配置时,需要将从机地址配置成0x3C,这样才能确保从机地址正确。 之后通过I2C_Write函数写数据。
I2C_Write(uint8_t addr,uint8_t data) addr参数,实际代表的是数据命令,对应的就是模拟IIC发送时,中间的那位数据, 0x00,写入命令。0x40,写入数据。
完成以上修改后,就能将之前模拟IIC修改为硬件IIC。 下面图片中逻辑分析仪的时序图供大家参考,截图框内是错误配置的从机地址。 因为我使用的逻辑分析仪就20几块,显示的从机地址好像不正确,但是波形还是准确的。 |
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
南京中科微
+关注
关注
0文章
60浏览量
730 -
CSM32RV20
+关注
关注
0文章
40浏览量
204
发布评论请先 登录
相关推荐
关于Air780E:使用文件系统存储温湿度数据怎么操作?
伙伴们,今天我们来学习合宙低功耗4G模组Air780E快速入门之使用文件系统存储温湿度数据。 一、 编写脚本 1.1 硬件及资料准备 780E开发板 LuatOS-Air780E-文件系统
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】sht30温湿度传感器
这一章节,继续探究RA0E1的硬件iic外设。来驱动SHT30温湿度传感器,该款温湿度传感器具有高精度稳定性,可以精确到0.125度的分辨率,特别适合用来做环境的监测。
发表于 10-14 23:40
【BearPi-Pico H3863星闪开发板体验连载】GPIO 控制与 IIC OLED 显示
杜邦线连接开发板与 OLED 显示屏,接线方式如下
TXD -----> SDA
RXD -----> SCL
3V3 ------> VCC
GND -----> GND
发表于 10-03 12:47
Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示
Arduino Nano 和 NodeMCU ESP8266 读取 DHT11 环境温湿度数据及 OLED显示
求助,请问ESP32-S2-DevKitM-1开发板的IIC引脚是哪些?
购买的ESP32-S2-DevKitM-1,说是有两路IIC,可是到处找的资料,都没说是哪些引脚,使用Arduino里的Adafruit_SSD1306或者U8g2库对0.96吋OLED
发表于 07-01 07:03
如何用stm32实现将IIC温湿度传感线采集到的数据转发到485的设备。
各位前辈,小弟刚毕业。公司要求实现这么一个项目,把iic协议的sht30温湿度传感器线采集到的数据转在485通讯的显示屏上打印出来,小弟毫无头绪,网上资料不多,望指点。
发表于 06-21 09:40
项目分享|基于ELF 1开发板的MQTT远程温湿度监测系统
今天非常荣幸向各位小伙伴详细展示一个由共创社成员完成的MQTT远程温湿度监控系统项目。该项目借助ELF1开发板作为核心技术支撑,成功实现了对各类环境空间中温湿度数据的实时、远程、稳定监测。该系统不仅
stm32f407vet6驱动0.96寸oled,显示屏无法显示怎么解决?
stm32f407vet6驱动0.96寸oled——iic协议代码无报错时钟正确显示屏无法显示
发表于 03-14 06:49
【原创】DHT11传感器温湿度监测系统毕设,论文、代码、原理图和仿真介绍
使用。但从成本考虑,DHT11价格便宜,其应用更为广泛。
系统概述
本文设计了一种基于51单片机和DHT11传感器的温湿度监测系统,能够实现对当前环境温湿度数据的采集、处理、显示和报警等功能。
系统
发表于 03-13 00:53
【外设移植】0.96寸IIC单色屏+Ai-M61开发板
本作品由安信可社区用户 沈夜 制作 01外设介绍 先来介绍下0.96寸OLED显示屏(驱动芯片:SSD1306 / SSD1315) [color=rgba(0, 0, 0, 0.87
【ELF 1开发板试用】温湿度测试
1.开发环境-ubuntu20.04
2.测试内容:测试温湿度传感。
测试步骤如下:
1.软件下载
进入官网下载的linux内核代码,修改顶层makefile 修改arch和compile的值 适配
发表于 12-18 11:59
【ELF 1开发板试用】板载资源测试4:体验温湿度传感器
命令行操作界面。 3、六轴传感器测试(1)温湿度传感器器AHT20在开发板的位置如图。 (2)将开发板平放,命令行执行elf1_cmd_aht20
发表于 12-18 11:09
【ELF 1开发板试用】+传感器检测
ELF 1开发板通过几种传感器的测试,如温湿度、六轴传感器等,而在配备功能扩展板的情况下,还能进行光照强度的检测。
温湿度检测
ELF1 开发板所配置的
发表于 11-29 11:59
评论