我正在尝试使用 Nokia5110 LCD 创建一个用户界面类,用于显示从 API 检索的天气预报,但是当我尝试将对 .ino 的引用传递给Adafruit_PCD8544 Object
构造函数时,出现错误班级。
一些帮助将受到高度赞赏。我得到的错误:
“错误:没有匹配的函数可调用
Adafruit_PCD8544::Adafruit_PCD8544()
”
这是 main.ino 文件:
// Nokia 5110 LCD pinout connections to nodeMCU8266
#define CLK_PIN D1 // Serial clock out (SCLK)
#define DIN_PIN D2 // Serial data out (DIN)
#define DC_PIN D5 // Data/Command select (D/C)
#define CS_PIN D6 // lCD chip select (CS)
#define RST_PIN D4 // LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(CLK_PIN, DIN_PIN, DC_PIN, CS_PIN, RST_PIN);
UI_Nokia5110 UI(display);
Run Code Online (Sandbox Code Playgroud)
这是 UI.h 的头文件:
#ifndef UI_WEATHER_API_H
#define UI_WEATHER_API_H
#include <Arduino.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
class UI_Nokia5110{
private:
Adafruit_PCD8544 display ;
public:
UI_Nokia5110(){}
UI_Nokia5110(Adafruit_PCD8544 &display);
};
#endif
Run Code Online (Sandbox Code Playgroud)
这里,实现UI.cpp
#include "UI_Nokia5110.h"
UI_Nokia5110::UI_Nokia5110(Adafruit_PCD8544 &display){
this->display = display;
}
Run Code Online (Sandbox Code Playgroud)
成员在构造函数体执行之前初始化。构造函数主体不是初始化成员的地方。如果您不提供初始值设定项,display
则将默认构造该成员。该错误表明Adafruit_PCD8544
没有默认构造函数。使用成员初始值设定项列表:
UI_Nokia5110::UI_Nokia5110(Adafruit_PCD8544 &display) : display(display) {
// nothing to be done here, members are already initialized
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅https://en.cppreference.com/w/cpp/language/constructor
归档时间: |
|
查看次数: |
184 次 |
最近记录: |