使用Arduino开发ESP32:(报错及解决)IIC接口控制SH1106、SSD1306或SSD1315驱动的OLED显示屏

注意:用ESP32_C3时会出现编译错误,下面给出解决办法。

错误信息:error: 'Wire1' was not declared in this scope; did you mean 'Wire'?

显示屏和该库的详细使用教程请参考本人另一篇文章:使用Arduino开发ESP32:(详解)IIC接口控制SH1106、SSD1306或SSD1315驱动的OLED显示屏

准备

直接从库管理中下载:

ESP8266_and_ESP32_OLED_driver_for_SSD1306_displays

从文件  ->  示例  ->  ESP8266_and_ESP32_OLED_driver_for_SSD1306_displays  ->  SSD1306SimpleDemo,打开该示例。

根据驱动型号注释或取消注释相应的#include,SSD1306和SSD1315驱动都选择SSD1306,SH1106就选择SH1106。(上面是示例文件,可以直接将相应的#include复制的自己的文件中)

进行编译,会发现出现上述错误信息。

报错原因

ESP32_C3只有一个IIC,此时在库中并没有定义Wire1,因此报错。

解决办法

方案一:直接修改库文件,显然这并不是一个好办法。

方案二:

在.ino文件第一行加入如下代码

#define SOC_HP_I2C_NUM 2 

强行定义IIC数量为2,即可正常使用该库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值