【问题标题】:Arduino custom library error when compiling delay()编译延迟()时的Arduino自定义库错误
【发布时间】:2012-01-25 11:29:22
【问题描述】:

我正在尝试编写一个 adruino 库,但一直被要求我包含头文件的错误所困扰。我遇到了一个我找不到头文件的问题。我不断收到错误:

...file.cpp:23: error: 'delay' was not declared in this scope

我的 .cpp 文件的第 23 行是:

delay(10);

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 我发现包含 Arduino.h 是可行的。如果有更好的方法让我知道,但无论如何我找到了答案。包括 Arduino.h 也成功了,所以我不需要包括我所包括的任何其他头文件,例如 WString.h、HardwareSerial.h 或 Stdio.h。

标签: header include delay arduino


【解决方案1】:

改变

  #include "WProgram.h"

  #if defined(ARDUINO) && ARDUINO >= 100
      #include "Arduino.h"
    #else
      #include "WProgram.h"
    #endif

在有问题的 .h 头文件中

【讨论】:

    【解决方案2】:

    如果您使用的是 1.0 之前的 Arduino 软件版本(版本号为 00XY,例如 0023),您需要在 .cpp 文件中包含 WProgram.h

    如果您使用的是 1.0 或更高版本,请改为包含 Arduino.h(头文件在该版本中已重命名)。

    【讨论】:

    • error: WProgram.h: No such file or directory 是我得到的回报。
    • 从 Arduino 1.0 版开始,头文件已重命名为 Arduino.h
    • 啊,谢谢你的提示。仍在旧版本上开发:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多