这里我们用一个例子来演示一下,I2C启动之后,我们开始扫描总线上存在的设备,并通过串口打印结果出来,我在I2C下面接了一个OLED的设备。 #include"Wire.h"voidsetup(){ Serial.begin(115200); Serial.println(); Serial.println("Scanning for I2C Devices ..."); Serial.print("\r\n");intI2CDevices =0; by...
引入的头文件: #include"driver/i2c.h"#include<unistd.h>#include"oledfont.h" I2C结构体初始化: voidi2c_config(){//配置驱动程序i2c_config_t i2c_Structure;i2c_Structure.mode=I2C_MODE_MASTER;i2c_Structure.sda_io_num=21;//sda引脚号i2c_Structure.scl_io_num=22;//scl引脚号i2c_Structure.sda_pu...
1、编译、下载examples\i2c\i2c_tools例程 2、正确连接i2c设备 这里连接0.96吋 oled,也是比较常用的一个i2c设备,连接在gpio21和gpio22上。 3、从终端进入串口命令行 在终端输入idf.py -p com6 monitor进入串口,会打印如下命令提示: 可以看到i2c相关的命令有6个,输入help还可以查看命令的用法; 命令中的[]是可选...
in pixels#defineSCREEN_HEIGHT32// OLED display height, in pixels// Define I2C Pins#defineI2C_SDA14#defineI2C_SCL15// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)Adafruit_SSD1306display(SCREEN_WIDTH,SCREEN_HEIGHT,&Wire,-1);voidsetup(){/...
/* 新建一个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) { ...
#define SCREEN_HEIGHT 32 // OLED display height, in pixels // Define I2C Pins #define I2C_SDA 14 #define I2C_SCL 15 // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); ...
天我们来玩儿I2C。 I2C概述 I2C全称是Inter-Integrated Circuit,是飞利浦半导体公司(06年迁移到NXP了)在1982年发明的,是使用非常广泛的一种通信协议,很多传感器、存储芯片、OLED等,都是在使用I2C。标准输出模式下能达到100kbps的传输速率,快速模式下能达到400kbps的传输速率,高速模式下能达到3.4Mbps,超高速下最快能达...
I2C全称是Inter-Integrated Circuit,是飞利浦半导体公司(06年迁移到NXP了)在1982年发明的,是使用非常广泛的一种通信协议,很多传感器、存储芯片、OLED等,都是在使用I2C。标准输出模式下能达到100kbps的传输速率,快速模式下能达到400kbps的传输速率,高速模式下能达到3.4Mbps,超高速下最快能达到5Mbps。 与UART一样,IIC仅...
OLED的驱动芯片为SSD1306,接口为I2C,分辨率128x64。 2. 接线 ESP32引脚图默认ESP32 I2C的SCL和SDA引脚是22和21。ESP32的引脚可以重映射,我们可以通过配置将SCL和SDA映射到19和18引脚。ESP32为主机Master模式,OLED为从机Slave模式。主机和从机的SCL和SDA相互连接。