【发布时间】:2019-01-06 14:17:59
【问题描述】:
我正在尝试在我的 ESP8266 E12 和 Sony Spresense 之间创建一个简单的串行通信。我已将 Spre.RX 与 ESP.TX 连接,将 Spre.TX 与 ESP.RX 连接,将 Spre.GND 与 ESP.GND 连接。
接收者:
byte rcvByte;
void setup() {
Serial.begin(9600);
while (!Serial) {;}
Serial.println("Receiving");
}
void loop() {
if (Serial.available()) {
rcvByte = Serial.read();
if (rcvByte == 'H') {
Serial.println("High");
}
if (rcvByte == 'L') {
Serial.println("Low");
}
}
}
发件人:
void setup() {
Serial.begin(9600);
while (!Serial) {;}
Serial.println("Sending");
}
void loop() {
Serial.print('H');
delay(1000);
Serial.print('L');
delay(1000);
Serial.println();
}
不幸的是,什么也没发生。我都试过了,ESP 作为 Sender 和 Spresense 作为 Receiver,反之亦然。
当我以两种方式连接我的 ESP 和 Arudino Uno 时,它就像一个魅力。
我是否必须以某种方式启用 Spresense 的 RX/TX 引脚?我已经直接尝试了开发板和小板上的引脚。有什么建议吗?
【问题讨论】:
-
我也尝试过 SPI 和 I2C 通信。对于 SPI 我尝试了 SPISlave 库 (github.com/esp8266/Arduino/tree/master/libraries/SPISlave/…),其中 ESP 是从站。我连接了 Spresense 上的所有引脚,类似于 UNO 板。使用 UNO,一切都恢复正常,而使用 Sprense 则没有任何反应。 I2C (electronicwings.com/nodemcu/nodemcu-i2c-with-arduino-ide) 也是如此。它适用于 UNO,但不适用于 Spresense。