要在ESP32驱动的OLED屏幕上显示中文,有几种不同的方法。下面我将介绍最常用的几种方案。
方法1:使用U8g2库显示中文(推荐)
U8g2库对中文支持较好,以下是实现步骤:
1. 安装U8g2库
在Arduino IDE中:工具 -> 管理库 -> 搜索”U8g2″并安装
2. 示例代码
#include <U8g2lib.h>
#include <Wire.h>
// 初始化OLED(I2C接口)
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
// 定义中文字体(需要先安装对应字体)
#define FONT u8g2_font_wqy16_t_gb2312 // 文泉驿16点阵简体中文
void setup() {
u8g2.begin();
u8g2.enableUTF8Print(); // 启用UTF-8支持
}
void loop() {
u8g2.clearBuffer();
// 设置字体
u8g2.setFont(FONT);
// 显示中文
u8g2.setCursor(0, 20);
u8g2.print("你好,世界!");
u8g2.setCursor(0, 40);
u8g2.print("ESP32 OLED");
u8g2.sendBuffer();
delay(1000);
}
3. 安装中文字体
- 下载中文GB2312字体文件(如
wqy16_t_gb2312.h
) - 放入Arduino库目录的U8g2字体文件夹中
- 在代码中包含该字体