Lua 无法读取NodeMCU上的串行/uart引脚

Lua 无法读取NodeMCU上的串行/uart引脚,lua,nodemcu,Lua,Nodemcu,我无法读取NodeMCU Lua环境中的串行引脚。我只能读取USB串行端口 我已将串行适配器连接到rx、tx和g引脚 我尝试过以下代码: uart.on("data","\n",function(data) print("receive from uart:", data) end, 0) 我在ESplorer控制台中输入文本,它确实会读取该文本。它不会读取我通过插入rx/tx/g引脚的串行适配器发送的任何内容 uart.write(0,“你好”) 我断开了USB电缆并用串行适配器为其供电

我无法读取NodeMCU Lua环境中的串行引脚。我只能读取USB串行端口

我已将串行适配器连接到rx、tx和g引脚

我尝试过以下代码:

uart.on("data","\n",function(data) print("receive from uart:", data) end, 0)
我在ESplorer控制台中输入文本,它确实会读取该文本。它不会读取我通过插入rx/tx/g引脚的串行适配器发送的任何内容


uart.write(0,“你好”)
我断开了USB电缆并用串行适配器为其供电。没有使用此代码发送任何内容。我尝试了
uart.write(0,
uart.write(1,



如何读取pin串行端口而不是usb串行端口?

我需要拔下usb电缆。如果usb电缆已插入,而您正试图使用pin串行端口,则设备会混淆

请参阅esp论坛上的我的问题:

您必须使用不同的插脚,然后是RX和TX,因为它们与您将NodeMCU连接到PC的USB端口相同

在库的帮助下,您可以使用任何其他2个免费的gpio引脚作为串行端口。此库专门用于您的NodeMCU所基于的ESP8266

这样您就有了两个串行端口,一个通过usb,另一个连接到其他设备

下面是一些simpel代码,用于实现软件序列

    #include <SoftwareSerial.h>

    #define BAUD_RATE 9600

    SoftwareSerial Serial2(D8, D7, false, 8); //Here you choose the pins you connect the RX TX device to 
                                             //The first pin you choose is RX the second TX 
                                             // in my example these are the D8 and D7 pins on the nodeMCU
                                             // D8=RX .... D7=TX 

    void setup() {
      Serial.begin(BAUD_RATE);
      Serial2.begin(BAUD_RATE);

      Serial.println(" ### Hello ###");
      Serial2.println(" ### Hello ###");

 }


void loop() {

}
}
#包括
#定义波特率9600
SoftwareSerial Serial2(D8,D7,false,8);//在这里,您可以选择将RX TX设备连接到的管脚
//您选择的第一个引脚是RX和第二个TX
//在我的示例中,这些是nodeMCU上的D8和D7引脚
//D8=RX…D7=TX
无效设置(){
串行开始(波特率);
串行2.开始(波特率);
Serial.println(“你好”);
Serial2.println(“######你好###”);
}
void循环(){
}
}

我不确定我是否完全理解,但您是否看到:“UART 1无法接收数据,因此只能进行传输。”