我想在cpp中为在显示器上写入的arduino uno创建一个类。我使用的是LiquidCrystal_I2C库但我无法在课堂上使用它。我知道如何在没有课程的情况下做到这一点,但是现在我想建立一个课程而且我无法让它发挥作用。
我的.h文件:
// WriteDisplay.h
#ifndef _WRITEDISPLAY_h
#define _WRITEDISPLAY_h
#if defined(ARDUINO) && ARDUINO >= 100
#include "arduino.h"
#else
#include "WProgram.h"
#endif
#include <Wire/Wire.h>
#include <LiquidCrystal_I2C2004V1/LiquidCrystal_I2C.h>
class WriteDisplayClass
{
public:
WriteDisplayClass();
void write(String text);
private:
LiquidCrystal_I2C lcd(0x27,20,4);
};
extern WriteDisplayClass WriteDisplay;
#endif
我的.cpp:
#include "WriteDisplay.h"
WriteDisplayClass::WriteDisplayClass()
{
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
}
WriteDisplayClass::write(String text)
{
lcd.clear();
lcd.print(text);
}
WriteDisplayClass WriteDisplay;
我的.ino:
#include "WriteDisplay.h"
WriteDisplayClass wdc;
void setup()
{
wdc.write("Hello World");
}
void loop()
{
}
我正在使用AtmelStudio和Visual Micro。当我只使用我的.ino文件时,我可以让它工作,但我不能在cpp中做同样的事情。我收到了LiquidCrystal_I2C.h无法找到的错误以及类似的错误。我应该如何让它以我想要的方式工作?或者甚至可能吗?
感谢您的回答。
答案 0 :(得分:0)
抱歉,我第一次误读了这个问题。
要在Arduino草图的.cpp文件中使用库,还必须将它们包含在master .ino文件中。只有在.ino
中找到它们才会被编译您可以手动添加包含或使用&#34;项目&gt;添加/导入草图库&#34;菜单项将把它们添加到.ino中。