我是NodeMcu的初学者。我带来了Adraxx ENTDEV019 ESP8266 NodeMcu WiFi Development Board
。我正在尝试使用arduino Ide进行编程。我尝试了一些基本示例。以下是我为董事会尝试的代码。我正在使用Serial1端口进行调试通信。我已连接:
我尝试了不同的波特率。我使用外部移动电源为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.
}
我在做什么错?
答案 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引脚。