gpt4 book ai didi

arduino - 如何将已经编写的库包含到 Arduino 中的自定义库中

转载 作者:行者123 更新时间:2023-12-04 18:47:24 27 4
gpt4 key购买 nike

我正在创建一个新库来一起控制键盘和 LCD。大多数代码似乎都可以编译,但是当它到达我定义 LiquidCristal 变量的行时,它说:

'LiquidCrystal' does not name a type when creating a custom library



这是我的 LCDKeypad.h 内容的摘录
// Include types & constants of Wiring core API
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#include "WConstants.h"
#endif

// Include LCD library
#include <LiquidCrystal.h>

错误在这一行:
private:
LiquidCrystal lcd( 8, 9, 4, 5, 6, 7 ); // <<-- Error

最佳答案

好吧,我读了很多,我发现了一篇关于这个主题的非常有趣的文章:

Including multiple libraries

它说编译器不会搜索未包含在草图文件中的库。破解这个的方法是强制编译器在加载你的库之前链接它们,在我的例子中包括草图中的 LiquidCrystal.h。

假设我的库“LCDkeypad”需要 LiquidCrystal。
我的主程序(草图)需要包含 LiquidCrystal,以便为我的库“LCDKeypad”加载它。

现在,一件有趣的事情是使用前向声明,所以在我的 LCDKeypad.h 中我将声明
“类 LiquidCrystal”但不包括库。我将在 LiquidCrystal.cpp 和草图中进行。
我希望这很清楚。

关于arduino - 如何将已经编写的库包含到 Arduino 中的自定义库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029135/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com