Используйте последовательный интерфейс Arduino Nano для связи с ESP8266 - в настоящее время зависает - PullRequest
0 голосов
/ 22 сентября 2018

Я разработал драйвер ledstrip, способный принимать команды по UDP-IP.Сначала я работал с Arduino MEGA, и в настоящее время я нахожусь в процессе развертывания кода в Arduino NANO.

Arduino NANO имеет только один аппаратный последовательный интерфейс, в отличие от MEGA, который имеет несколько.Это заставляет меня отключить обычную отладку через один из последовательных портов (отправив строки на компьютер) и зарезервировать один и единственный последовательный интерфейс для ESP8266 .Короче говоря, я подключаю ESP8266 к контактам TX и RX в NANO.

Я знаю, что мог бы использовать библиотеку softwareserial.h, но я бы хотел избежать этого, если это возможно.

Следующая функция устанавливает объект Wifi:

void wifi_setup(){

    // Initialize serial for ESP module
    Serial.begin(9600);

    // Initialize ESP module
    WiFi.init(&Serial); /* GETS STUCK HERE */

    ...

}

Проблема заключается в следующем: микроконтроллер застревает в функции Wifi.init ()и никогда не отказывается от него.

Я знаю, что последовательный интерфейс подключен к USB-порту, и подозреваю, что это может быть проблемой.Однако я попытался подать питание на NANO через вывод VIN, а не через порт USB, и это не сработало.

Что я делаю не так?

1 Ответ

0 голосов
/ 22 сентября 2018

Лучшим решением будет написать отдельный код для ESP8266 и Arduino Nano - или даже только для ESP8266 (NodeMCU, чтобы упростить это).Это будет намного проще.Но если вы действительно хотите сделать это по-своему, я думаю, что ESP использует 115200 бод, и вы установили его на 9600.

...