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
。
我尝试制作一个 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
。