ESP8266 Программное обеспечение, подключенное к ATmega 328, работает неправильно.

Заранее спасибо..

У нас есть чип esp8266-12E и Atmega328, подключенные следующим образом: 12-контактный разъем ESP как Tx, 13-контактный как Rx && Atmega328 13-контактный как Rx, 12-контактный как Tx. Все работает нормально, но при общении по последовательному порту генерируется какой-то низкий импульс. Мы все равно не смогли обнаружить проблему с помощью мультиметра, а обнаружили ее по сигналу осциллографа.

Когда во время связи возникает этот ложный низкий импульс, контакты, подключенные к Atmega328, также становятся низкими на ту же продолжительность.

Мы пробовали использовать раздельное выполнение логики для ESP и Atmega, и оба работали отлично, но только во время связи через последовательный порт программного обеспечения он мигает при запуске.

Пожалуйста, помогите нам решить эту проблему.

, 👍1

Обсуждение

esp8266 SoftwareSerial работает ненадежно, @Juraj

@Юрай: Спасибо. Могу ли я использовать Tx и Rx по умолчанию? они надежные?, @Learner

да, конечно. esp8266 имеет второй последовательный интерфейс, но из него можно использовать только TX., @Juraj

Это означает, что я могу передать данные в Atmega328, но не могу получить их обратно., @Learner

генерируется низкий импульс где он генерируется?, @jsotola

@jsotola, я читал, что esp8266 SoftwareSerial работает ненадежно, но я никогда это не проверял. возможно, этот «низкий пульс» является показателем того, почему он не работает. но у меня нет времени это исследовать, @Juraj

я не задал четкого вопроса.... вопрос в том, какой вывод генерирует низкий импульс?, @jsotola

@jsotola, мне тоже было неясно. подключите Uno к esp8266 через SoftwareSerial, и вы узнаете., @Juraj

@jsotola, я не говорил, что это не сработает. Будет работать отлично, но ненадежно, @Learner


1 ответ


Лучший ответ:

1

Не используйте SoftwareSerial в esp8266. Подключите контакты SoftwareSerial 328p к контактам последовательного интерфейса esp8266. ESP8266 имеет второй последовательный интерфейс с именем Serial1. У него есть только TX (io 2), но для отладочной печати его достаточно.

Чтобы изменить прошивку или эскиз в esp8266, вы можете использовать библиотеку ArduinoOTA, но вы должны быть готовы отсоединить последовательные контакты esp8266 от 328p и использовать их для последовательной загрузки, если загрузка OTA не удалась.

Для защиты вывода RX esp8266 следует использовать преобразователь логического уровня от 5 В до 3,3 В.

,

Большое спасибо Юрай. Это решило нашу проблему. Огромное спасибо, так как мы боремся с этим уже много дней., @Learner