我使用 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);
}