NodeMCU - gpio编程

时间:2017-03-12 17:18:31

标签: gpio nodemcu arduino-esp8266

我正在使用NodeMCU板,V3引脚排列和Arduino IDE。我需要摆动其中一个输出引脚,然后挖掘我找到了这个页面: https://github.com/nodemcu/nodemcu-firmware/blob/master/docs/en/modules/gpio.md

非常有用,尤其是gpio.serout()函数,但我无法让它工作。这是我的代码:

#include <gpio.h>;
#define LED D5

void setup() {
  gpio.mode(LED, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  Serial.write("Starting blinking.");
  gpio.serout(LED, HIGH, 1000000, 10);
  Serial.write("Done.");
}

编译器抛出错误#include <gpio.h>;后,'gpio' was not declared in this scope是我的猜测,但错误仍然存​​在。文件gpio.h显然导入正常,或者它会抱怨。我能找到的只是代码片段,如上面链接的手册页,没有完整的草图。

有什么方法可以使用这些gpio函数吗?

3 个答案:

答案 0 :(得分:1)

开始使用NodeMCU的快速方法是使用Arduino IDE。您可以使用link中所述的步骤顺序。完成此操作后,您可以在IDE本身中使用示例。首先,您可以使用File-> Examples-> Basics-> Blink中的示例。这将使机载LED闪烁

答案 1 :(得分:0)

虽然有几个板名为NodeMCU(或称为NodeMCU),但名称NodeMCU实际上是指可安装在其上的几种可能的固件之一基于ESP8266的芯片/开发板。

NodeMCU是ESP8266的流行SDK,它为您提供Lua解释器和许多不同的模块,用于控制不同的功能和使用不同的通信协议。请参阅NodeMCU Documentation,其中列出并记录了各种可用的扩展程序,包括您在问题中引用的gpio模块。有关Lua编程语言的信息,请参阅http://lua.org

我非常喜欢Lua,我发现使用NodeMCU SDK非常有趣。 但是,这些电路板的编程还有其他选择。

一个非常好的选择是使用兼容Arduino的SDK,允许您使用C编程。如果您打算使用Arduino IDE,则需要安装此SDK。有关安装说明,请参阅esp8266/Arduino github存储库并下载SDK。

安装此SDK后,您可以使用digitalWrite功能以与编程任何其他Arduino完全相同的方式控制电路板上的引脚。因此,对于您的示例,您可以执行以下操作:

int pin = 12; // or whatever pin you want
for (int i = 0; i < 10000; i++) {
   digitalWrite(pin, HIGH);
   delay(10);
   digitalWrite(pin, LOW);
   delay(10);
}

你应该把它提取到一个函数中,我写的东西不像gpio.serout函数那样灵活,但是它给你一个开始的地方。如果您需要更复杂的东西,可以查看gpio模块(source code)并调整其serout函数的实现。

答案 2 :(得分:0)

无需使用&#34; gpio.h&#34;头文件。要振荡其中一个I / O引脚,您可以使用arduino代码进行简单的指示灯闪烁,并将其直接刻录到NODEMCU板。

有两种不同的方法来编程NODEMCU:

  1. Arduino IDE
  2. 刻录一些充当操作系统的固件,并在其中编写代码文件。
  3. 只要我们使用Arduino IDE进行编程,我们就不必担心固件,因为Arduino代码转换为 * .bin 格式,这种格式在NODEMCU和我们正在谈论的固件上烧毁关于帮助我们使用不同的语言进行编程,例如 MicroPython,Lua。

    所有内容都由 Arduino IDE处理。它会创建自己的固件版本并将其刻录在主板上。