NodeMcu串行通信Tx和Rx

时间:2019-03-10 03:35:53

标签: arduino embedded nodemcu

我是NodeMcu的初学者。我带来了Adraxx ENTDEV019 ESP8266 NodeMcu WiFi Development Board。我正在尝试使用arduino Ide进行编程。我尝试了一些基本示例。以下是我为董事会尝试的代码。我正在使用Serial1端口进行调试通信。我已连接:

  • 从板到串行适配器Rx的Tx
  • 从板到串行适配器Tx的接收

我尝试了不同的波特率。我使用外部移动电源为NodeMcu供电,但是在串行监视器中看不到正确的输出。

如果我使用 Serial 端口而不是 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.

}

enter image description here enter image description here

我在做什么错?

1 个答案:

答案 0 :(得分:1)

来自(https://arduino-esp8266.readthedocs.io/en/latest/reference.html#serial):

  

串行使用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引脚。

(来自https://github.com/nodemcu/nodemcu-devkit-v1.0的引脚图)