esp8266 驱动水墨屏显示中文,假设在此之前已经安装好arduino,配置好esp8266的开发环境。水墨屏显示中文的步骤如下:
一、下载库
安装esp8266需要的库文件:
- GxEPD2 屏幕驱动库
- U8g2_for_Adafruit_GFX
安装过程可能需要梯子,如果已安装则跳过。
二、准备
使用打包好的工程驱动屏幕。
链接: https://pan.baidu.com/s/1VzurMxyoOiJVswSphB2JMQ 提取码: x8ty
工程包括两个文件:
- Gx_Chinese.ino
- GxEPD2_display_selection_new_style.h
替换其中Gx_Chinese.ino内容为如下:
#include <GxEPD2_3C.h>
#include <U8g2_for_Adafruit_GFX.h>
#include "GxEPD2_display_selection_new_style.h"
// 选择水墨屏的驱动,根据水墨屏型号选择
GxEPD2_3C < GxEPD2_750c_Z08, GxEPD2_750c_Z08::HEIGHT / 4 > display(GxEPD2_750c_Z08(/*CS=D8*/ SS, /*DC=D3*/ 0, /*RST=D4*/ 2, /*BUSY=D2*/ 4)); // GDEW075Z08 800x480, GD7965
U8G2_FOR_ADAFRUIT_GFX u8g2Fonts; // 导入字体
void setup()
{
display.init(115200); // 初始化屏幕
display.setRotation(3); // 设置屏幕旋转方向,分别有0,1,2,3这四个方向
u8g2Fonts.begin(display);
display.setTextWrap(false); // 设置文本是否自动换行,false则为不自动换行,如果文本溢出则显示异常或者不显示
u8g2Fonts.setFontDirection(0); // 设置文字显示方向
u8g2Fonts.setForegroundColor(GxEPD_BLACK); // 设置前景色
u8g2Fonts.setBackgroundColor(GxEPD_WHITE); // 设置背景色
u8g2Fonts.setFont(u8g2_font_wqy14_t_chinese3); // 设置文本字体
display.setTextColor(GxEPD_BLACK); // 设置文本颜色
display.setFullWindow(); // 设置全屏刷新,与之相对的是局部刷新
display.firstPage(); // 显示开始
// 通常来说,所有的显示都放在do while 循环中完成。
// 主要原因是 水墨屏使用循环刷新,一次循环可能不会刷新所有显示内容
do
{
u8g2Fonts.setCursor(10, 50); // 设置显示坐标 x=10, y=50
String content = "中文显示测试";
u8g2Fonts.println(content); // 显示文本
}
while (display.nextPage()); // 显示结束
}
void loop() {};
显示的中文的库来自于:
https://gitee.com/CHN_ZC/u8g2_wqy
三、上传程序
遗留问题:
本篇显示的中文有一个问题就是选择的字体所包含的汉字较少,大概只有100多个。所以可以看到在程序中写的是中文显示测试,但实际显示出来的缺少了测试两个字。只有如何显示全部汉字,请看下一篇。