NodeMCU——gpio编程

NodeMCU - gpio programming

我正在使用 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 功能?

虽然有几个板子被命名为 NodeMCU(或被称为 NodeMCU),名称 NodeMCU 实际上指的是可以安装的几个可能的固件之一在基于 ESP8266 的 chip/dev 板上。

NodeMCU 是 ESP8266 的流行 SDK,它为您提供 Lua 解释器和许多不同的模块,用于控制不同的功能和使用不同的通信协议。有关 Lua 编程语言的信息,请参阅 NodeMCU Documentation which lists and documents the various available extensions, including the gpio module you reference in your question. See http://lua.org

我非常喜欢Lua,我发现使用 NodeMCU SDK 非常有趣。 但是,还有其他选项可用于对这些板进行编程。

一个很好的替代方法是使用与 Arduino 兼容的 SDK,它允许您使用 C 语言进行编程。如果您打算使用 Arduino IDE,则需要安装此 SDK。有关安装说明和下载 SDK,请参阅 esp8266/Arduino github 存储库。

安装此 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 函数的实现。

不需要使用"gpio.h"头文件。要振荡 I/O 引脚之一,您可以使用 arduino 代码实现简单的 LED 闪烁 并将其直接烧录到 NODEMCU 板上。

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

  1. Arduino IDE
  2. 烧录一些充当操作系统的固件,我们在其中编写代码文件。

只要我们使用 Arduino IDE 进行编程,我们就不必担心固件,因为 Arduino 代码会转换为 *.bin 格式,并在上面烧录我们正在谈论的 NODEMCU 和固件帮助我们用 不同的语言 编程,比如 MicroPython,Lua.

一切都由 Arduino 处理 IDE。 它创建自己的固件版本并将其刻录到板上。

开始使用 NodeMCU 的快速方法是使用 Arduino IDE。您可以使用 link 中描述的步骤顺序。执行此操作后,您可以使用 IDE 本身中的示例。作为开始,您可以使用 File->Examples->Basics->Blink 中的示例。这将使板载 LED

闪烁