Arduino:显示的自定义 class 不起作用;没有编译器错误

Arduino: Custom class for display does not work; no compiler errors

我尝试制作一个 class 来更方便地使用 ucg lib 的显示。我认为主要问题是我使用 ucg class 的实例作为我自己 class 的成员。但代码似乎是正确的,我没有收到任何编译器错误。我的显示器仍然什么也没做。

注意:引脚正确

头文件:

#ifndef Display_h
#define Display_h

#include "Arduino.h"
#include <SPI.h>
#include "Ucglib.h"

class Display
{
    public:
        Display(int sck, int mosi, int ds_rs, int cs, int reset);

    private:
        Ucglib_ILI9341_18x240x320_SWSPI _display;
};

#endif

Cpp 文件:

#include "Display.h"

Display::Display(int sck, int mosi, int ds_rs, int cs, int reset) : _display (sck, mosi, ds_rs, cs, reset)
// Constructor for the display class
{
    delay(1000);
}

编辑:

测试程序:Arduino 的串行监视器 IDE 不显示文本 "Test",所以我猜程序卡在了构造器的某个地方。

#include "Display.h"

const int sck = 7;
const int mosi = 6;
const int ds_rs = 5;
const int cs = 3;
const int reset = 4;

Display lcd = Display(sck, mosi, ds_rs, cs, reset);

void setup() 
{

  Serial.begin(115200); 
  Serial.println("Test");
}

问题是 class 的构造函数中的 delay(1000);。变量定义在setup()之前,那里不能执行delay。草图的执行在那里崩溃了。

从 class Display 的构造函数中删除 delay