ESP32 上的 Waveshare 电子墨水显示屏

时间:2021-05-12 03:05:58

标签: arduino esp32 arduino-ide

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

0 个答案:

没有答案