I2C的用处很多,本实验中使用的OLED显示屏模块就需要使用I2C来控制。 OLED显示屏是利用有机电自发光二极管制成的显示屏,其中每一个像素点就是一个led。本实验使用0.96寸,128*64分辨率的OLED显示屏模块,模块引脚如图3-2所示,我们在实验中使用了23,19两个引脚作数据线和时钟线。 我们先将扩展接口板插到ESP32-board...
/* 新建一个oled屏幕对象,需要输入IIC地址,SDA和SCL引脚号 */ SSD1306Wire oled(I2C_ADDR, SDA_PIN, SCL_PIN); 1. 2. 4、这里顺便写一个屏幕测试显示,看能否正常工作 void drawRect(void) { for (int16_t i=0; i<oled.getHeight()/2; i+=2) { oled.drawRect(i, i, oled.getWidth()-2*i...
i2c_cmd_handle_tcmd = i2c_cmd_link_create();/* 创建一个句柄,分配空间 */ i2c_master_start(cmd);/* 发送起始信号 */ i2c_master_write_byte(cmd,0xEE, I2C_MASTER_ACK);/* 发送地址 (是否应答) */ i2c_master_write_byte(cmd, WriteAddr, I2C_MASTER_ACK);/* 发送寄存器地址 (是否应答) */...
其中2、3、4、5属于标准i2c的流程,1、6、7属于esp32特有的。 4、驱动oled 0.96 oled只需要写数据即可,参考上面的主机写流程,对oled写代码如下: 代码语言:javascript 复制 voidI2C_WriteByte(uint8_t addr,uint8_t data){i2c_cmd_handle_t cmd=i2c_cmd_link_create();i2c_master_start(cmd);i2c_master_...
天我们来玩儿I2C。 I2C概述 I2C全称是Inter-Integrated Circuit,是飞利浦半导体公司(06年迁移到NXP了)在1982年发明的,是使用非常广泛的一种通信协议,很多传感器、存储芯片、OLED等,都是在使用I2C。标准输出模式下能达到100kbps的传输速率,快速模式下能达到400kbps的传输速率,高速模式下能达到3.4Mbps,超高速下最快能达...
ESP32学习笔记:I2C 描述 今天我们来玩儿I2C。 I2C概述 I2C全称是Inter-Integrated Circuit,是飞利浦半导体公司(06年迁移到NXP了)在1982年发明的,是使用非常广泛的一种通信协议,很多传感器、存储芯片、OLED等,都是在使用I2C。标准输出模式下能达到100kbps的传输速率,快速模式下能达到400kbps的传输速率,高速模式下能达到...
【玩转ESP32】5、i2c-tools访问i2c设备 前言:i2c-tools,跟linux里的工具类似,可以命令行访问i2c设备。 1、编译、下载examples\i2c\i2c_tools例程 2、正确连接i2c设备 这里连接0.96吋 oled,也是比较常用的一个i2c设备,连接在gpio21和gpio22上。 3、从终端进入串口命令行...
ESP32的每一个引脚都可以作为I2C协议的SCL,SDA。 这里我以OLED12864为例,SCL->D22. SDA->D21;此处OLED12864为I2C协议,地址为默认的0X78。 ESP32配置I2C有以下几步: 配置初始化结构体 i2c_config_t 。其中包含以下参数:mode选择主机或从机。SDA_IO_NUM/SCL_IO_NUM配置引脚号,我这里配置成D21,D22。sda_...
网址:https://github.com/bkgoodman/ESP32-IDF-OLED-SSD1306/ OLED的驱动芯片为SSD1306,接口为I2C,分辨率128x64。 2. 接线 ESP32引脚图 默认ESP32 I2C的SCL和SDA引脚是22和21。ESP32的引脚可以重映射,我们可以通过配置将SCL和SDA映射到19和18引脚。
I2C是半双工的,因为他只有一条数据线,只能发送完了再接收或者接收完了再发送,而我们的串口可以一边发送一边接收,串口是全双工的。 1.3 硬件框图 比如说oled的硬件框图,里面有一个ssd1306的主控芯片 如果我们想在屏幕上显示文字,我们只需要编写程序来初始ssd1306芯片 ...