ESP8266 基于IIC控制的OLED屏幕

ESP8266模块具备模拟IIC接口的能力,允许用任意两个GPIO模拟IIC主设备。官方SDK提供了预编写的IIC库,无需手动编写start、stop等函数,只需配置GPIO并调用库函数如i2c_master_start、i2c_master_stop和i2c_master_writeByte。要修改IIC接口的GPIO,例如将SDA由GPIO2改为其他管脚,以避免与已有功能冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

esp8266 IIC

esp8266它有SPI接口,也有IIC接口。但IIC接口是使用GPIO模拟的,也就是说,你可以使用8266上的任意两个GPIO模拟出IIC接口来。同时,每个管脚内部都有上拉电阻,无需外接。

    注:ESP8266只能用做IIC主设备,不能用做从设备。

    那我们是否还要写一堆IIC的start函数、stop函数?

    不用,官方的SDK已经给我们写好了整个的IIC库,只要配置好要用的管脚,直接调用函数即可,例如:

i2c_master_start(void);

i2c_master_stop(void);

i2c_master_writeByte(uint8 wrdata);

1、添加相关源文件和头文件

把i2c_master.c拷入app下的driver文件夹,把i2c_master.h拷入app下的include下的driver文件夹。 #include “driver/i2c.h”

2、选择要用到的GPIO

打开i2c_master.h文件,管脚选择部分如下所示:

#define I2C_MASTER_SDA_GPIO 2
#define I2C_MASTER_SCL_GPIO 14

    通过这6个宏定义,配置好IIC接口要用的时钟脚和数据脚
  • 开发板上的IIC硬件 SDA 为IO2 SCL 为IO14.但是我用IO2作为了调试信息的输出引脚,所以IIC的OLED会没有显示,将SDA IO2 改为其他的管教,OLED可以正常的显示。

#define I2C_MASTER_SDA_GPIO 2
#define I2C_MASTER_SCL_GPIO 14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值