Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino NodeMcu串行通信发送和接收_Arduino_Embedded_Nodemcu - Fatal编程技术网

Arduino NodeMcu串行通信发送和接收

Arduino NodeMcu串行通信发送和接收,arduino,embedded,nodemcu,Arduino,Embedded,Nodemcu,我是NodeMcu的初学者。我带来了一个Adraxx ENTDEV019 ESP8266 NodeMcu WiFi开发板。我正在尝试使用arduino Ide编程。我试过一些基本的例子。下面是代码,我正在为董事会尝试。我正在使用Serial1端口进行调试通信。我连接: 从板到串行适配器的接收的发送 从板接收到串行适配器的发送 我尝试了不同的波特率。我使用外部电源组为NodeMcu供电,但在串行监视器中看不到正确的输出 如果我使用串行端口而不是Serial1并使用USB电缆连接到计算机,同样的

我是NodeMcu的初学者。我带来了一个Adraxx ENTDEV019 ESP8266 NodeMcu WiFi开发板。我正在尝试使用arduino Ide编程。我试过一些基本的例子。下面是代码,我正在为董事会尝试。我正在使用Serial1端口进行调试通信。我连接:

  • 从板到串行适配器的接收的发送
  • 从板接收到串行适配器的发送
我尝试了不同的波特率。我使用外部电源组为NodeMcu供电,但在串行监视器中看不到正确的输出

如果我使用串行端口而不是Serial1并使用USB电缆连接到计算机,同样的代码也可以正常工作

#define LED D0 
#define DBG_OUTPUT_PORT Serial1

// the setup function runs once when you press reset or power the board
void setup() {
  DBG_OUTPUT_PORT.begin(9600);
  DBG_OUTPUT_PORT.print("\n");
  DBG_OUTPUT_PORT.setDebugOutput(true);
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(LED, OUTPUT);  

}

// the loop function runs over and over again forev`er
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(LED, HIGH);// turn the LED off.(Note that LOW is the voltage level but actually 
  delay(2000);                       // wait for a second
  DBG_OUTPUT_PORT.print("Connected! IP address: \n");

  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW

  digitalWrite(LED, LOW); // turn the LED on.

}

我犯了什么错误?

来自():

串行使用UART0,UART0映射到引脚GPIO1(TX)和GPIO3(RX)。在Serial.begin之后调用Serial.swap()可以将Serial重新映射到GPIO15(TX)和GPIO13(RX)。再次调用swap将UART0映射回GPIO1和GPIO3

Serial1使用UART1,TX引脚为GPIO2。UART1不能用于接收数据,因为它的RX引脚通常用于闪存芯片连接


您连接的引脚看起来像GPIO1(TX)和GPIO3(RX)。GPIO2是D4引脚


(pinmap from:)

您的串行适配器是USB-to-UART吗?是的,它的USB-to-UART是USB-to-UART。如果它适用于
serial
对象,但不适用于
Serial1
,则该软件显然不是一个问题-因此,这个问题与本主题无关,最好是在。或者只是阅读文档(比如它)。您将连接到RXD0/TXD0(相同的
串行
UART已通过USB公开)。根据位于的IOCONN块,Serial1仅在D4上支持TX。我投票将此问题作为离题题结束,因为这不是我们正在研究的软件问题。在此处未找到swap()。