原因
因为esp32cam大部分引脚都被camera占用了, 导致了想用IIC的oled就不能使用硬件IIC来控制,
查看了很多oled控制都是些直接用硬件iic也就是A4 A5引脚操作的, 所以就有了这篇解决方案
因为硬件IIC其实也是调用了Wire.h操作, 所以在对其初始化时设置为指定的软IIC引脚即可, 减oledInit方法
#include <Wire.h>
// 下面两个库直接在IDE库管理搜索下载即可
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
/**
* 本project用于贪吃蛇, 使用软IIC接口 14-SCL 15SDA
*/
Adafruit_SSD1306 oled(128, 64, &Wire, -1);
/**
* 初始化oled的软IIC设置,
* 注意在oled.begin中后面两个false是关闭Wire.begin的操作,
* 不然还是会使用默认的操作
*/
void oledInit() {
Wire.begin(15,14); // SDA, SCL
// oled.begin(SSD1306_SWITCHCAPVCC, 0x3C);
oled.begin(SSD1306_SWITCHCAPVCC, 0x3C, false, false);
}
void setup()
{
oledInit();
oled.setTextColor(WHITE);//开像素点发光
}
void loop()
{
}
770

被折叠的 条评论
为什么被折叠?



