因为我们的芯片是SSD1306,然后使用ESP32的硬件IIC实现: 那就是选择第二个了 代码语言:javascript 复制 代码语言:javascript 复制 U8G2_SSD1306_128X64_NONAME_F_SW_I2Cu8g2(U8G2_R0,/* clock=*/SCL,/* data=*/SDA,/* reset=*/U8X8_PIN_NONE);// 没有重置显示的所有板 这个就是我们默认的IIC的接...
u8g2_Setup_ssd1306_128x64_noname_2、u8g2_Setup_ssd1306_128x64_noname_f, 这些都是spi接口的;u8g2_Setup_ssd1306_i2c_128x64_noname_1、u8g2_Setup_ssd1306_i2c_128x64_noname_2、u8g2_Setup_ssd1306_i2c_128x64_noname_f, 这些都是i2c接口的; 后缀1、2、f代表缓冲区大小的不同: ...
5. 编写u8g2_Setup_ssd1306_i2c_128x64_noname_x的回调函数与u8g2_Init函数 该回调函数可以参考u8g2项目文件sys\arm\stm32|031x6\i2c_test\u8x8cb.c中的例子进行修改 具体修改内容包括: U8X8_MSG_GPIO_AND_DELAY_INIT中内容替换为SDA与SCL的GPIO口配置程序U8X8_MSG_DELAY_MILLI与U8X8_MSG_DELAY_I2C替...
void u8g2_Setup_ssd1306_i2c_128x64_noname_f(u8g2_t *u8g2, const u8g2_cb_t *rotation, u8x8_msg_cb byte_cb, u8x8_msg_cb gpio_and_delay_cb){uint8_t tile_buf_height;uint8_t *buf;u8g2_SetupDisplay(u8g2, u8x8_d_ssd1306_128x64_noname, u8x8_cad_ssd13xx_fast_i2c, byte_...
此时构造器为: U8G2_SSD1306_128X64_NONAME_F_SW_I2Cu8g2(U8G2_R0,/* clock=*/12,/* data=*/14,/* reset=*/U8X8_PIN_NONE); 畅享全文阅读体验 扫码后在手机中选择通过第三方浏览器下载
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ U8X8_PIN_NONE); // All Boards without Reset of the Display 就是这个。 剩下就是ESP32 的硬件IIC的接口。 关于接口这个事情,我这里直接给出结论,如果好奇的话,可以去看源码。 https...
连接介面可改用SW_I2C,代表用"software"(软体)模凝IIC介面,除非有特殊需要,否则请采用硬体PC介面;自定义如下: U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0,19,20,U8X8_PIN_NONE);//19 SCL引脚 20 SDA引脚 3.U8g2库使用模板: #include <Arduino.h> #include <U8g2lib.h> U8G2_SSD...
2.1.2 精简u8g2_d_setup.c 由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 #include "u8g2.h"
2.1.2 精简u8g2_d_setup.c 由于我的OLED是IIC接口,只留一个本次要用到的u8g2_Setup_ssd1306_i2c_128x64_noname_f就好(如果是SPI接口,需要使用u8g2_Setup_ssd1306_128x64_noname_f这个函数),其它的可以删掉或注释掉。 登录后复制#include "u8g2.h" ...
根据语句U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);可知,所定义的OLED屏接口为___,工作于___模式