如何解决ESP32 上的 Waveshare 电子墨水显示屏
我使用 GxEPD 的示例代码来测试电子墨水页面
我有一个 TTGO T-ETH-POE,所以必须分配 SPI 引脚
它正在工作,然后我添加了一些 OTA 代码,它停止运行,我 ctrl+z 回到以前的工作代码,它仍然有同样的问题
串行监视器显示“设置”,但之后没有其他内容。调试模式也没有显示任何有用的内容
如果我注释掉 display.init(115200);
它会进入循环
另外值得注意的是,如果没有设置延迟,它甚至不会显示设置输出
#include <SPI.h>
#include <GxEPD.h>
#include <GxGDEW029Z10/GxGDEW029Z10.h>
#include <Fonts/FreeSans9pt7b.h>
#include <GxIO/GxIO_SPI/GxIO_SPI.h>
#include <GxIO/GxIO.h>
#define SD_MISO 36
#define SD_MOSI 15
#define SD_SCLK 14
#define SD_CS 2
GxIO_Class io(SPI,/*CS=*/ 2,/*DC=*/ 12,/*RST=*/ 4);
GxEPD_Class display(io,/*RST=*/ 4,/*BUSY=*/ 33);
void showFont(const char name[],const GFXfont* f)
{
display.fillScreen(GxEPD_WHITE);
display.setTextColor(GxEPD_BLACK);
display.setFont(f);
display.setCursor(0,0);
display.println();
display.println(name);
display.println(" !\"#$%&'()*+,-./");
display.println("0123456789:;<=>?");
display.println("@ABCDEFGHIJKLMNO");
display.println("PQRSTUVWXYZ[\\]^_");
#if defined(HAS_RED_COLOR)
display.setTextColor(GxEPD_RED);
#endif
display.println("`abcdefghijklmno");
display.println("pqrstuvwxyz{|}~ ");
display.update();
delay(5000);
}
void setup() {
Serial.begin(115200);
Serial.println("Setup");
SPI.begin(SD_SCLK,SD_MISO,SD_MOSI,SD_CS);
delay(1000);
display.init(115200);
Serial.println("Setup Complete");
}
void loop() {
Serial.println("Loop Test");
delay(2000);
showFont("FreeSans9pt7b",&FreeSans9pt7b);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。