ESP8266: Сопряжение MAX485 TTL-to-RS485 на последовательном порту
Я использую ESP8266 NODEMCU. Я знаю, что CH341 на NodeMCU соединен мостом с последовательными контактами GPIO3(Rx) и GPIO1(Tx). Следовательно, любые данные, передаваемые по Rx и Tx, также видны на последовательном мониторе.
Мне нужно подключить MAX485 TTL-to-RS485 к ESP8266 на разных последовательных контактах (кроме GPIO3 и GPIO1).
Есть ли способ настроить другие контакты как Rx и Tx?
Пожалуйста, предложите любые другие способы достижения этой цели.
ПРАВКА-1: Мне нужно использовать два последовательных порта одновременно (один с CH341, а другой с TTL-to-RS485). Пожалуйста, помогите с этим.
@Sandrocottus, 👍1
Обсуждение2 ответа
Вы не можете переопределить контакты на ESP8266. Однако вы можете использовать SoftwareSerial для эмуляции последовательного порта. Примеров много.
Также вам нужно использовать MAX3485 на устройствах 3,3В. MAX485 предназначен для устройств 5V.
Я получаю часть MAX3485. Однако моя главная проблема заключается в одновременном использовании двух последовательных портов (один с CH341, а другой с MAX3485). Нужна помощь в решении этой проблемы., @Sandrocottus
По этому поводу:
Пожалуйста, предложите любые другие способы достижения этой цели.
Упоминание
программного обеспечения в ответе Майенко-это один из таких других способов.
Существует также функция .swap()
на последовательном интерфейсе, которая переназначит UART из его нормального положения, разговаривая с хостом, в GPIO15 и GPIO13. Если вам нужно говорить только с одним устройством за раз, это также может быть вариантом.
Существует также второй UART только для передачи (также упомянутый в предыдущей ссылке), так что если вам нужно передавать только на одном из интерфейсов, это вариант. И есть возможность использовать UART только для передачи вместе с использованием SoftwareSerial
(или что-то в этом роде) для завершения приема половины.
Другим вариантом может быть установка UART-чипа с SPI-интерфейсом между ESP8266 и трансивером RS485, так что это просто SPI со стороны ESP8266. Также можно найти чипы, которые объединены SPI-UART/RS485-трансивером, хотя единственный, который я заметил до сих пор, - это часть 5V.
- HLW8032 UART отправляет случайные данные (регистры часто переполняются)
- Соединение UART между Arduino Nano и NodeMCU
- Запрограммировать Arduino через UART от ESP8266 SPIFFS
- Nodemcu ESP12-E (ESP8266), Могу ли я перепрограммировать, если контакты UART определены как GPIO?
- Модуль ESP8266 не отвечает на команды и отправляет мусор в последовательный порт при загрузке
- Как сбросить управление потоком, которое мешает мне читать данные с ESP8266?
- Как использовать контакты GPIO на UART esp12e?
- Как связаться между Arduino Uno и ESP8266 через последовательные порты TX/RX?
Вам нужно использовать МАКСИМУМ**3**485 на устройствах 3,3 В., @Majenko