Одновременно считывать данные с 2 UART поротв на ESP32

Master_G
Offline
Зарегистрирован: 04.07.2019

Всем доброго вечера!

Купили с другом плату ESP32 для того чтобы собирать с разных датчиков значения и отправлять данные на сервер ThingsBoard https://thingsboard.io/
2 из датчика имеют интерфейс UART. На плате EP32 тоже 2 UART( RX0,TX0  и RX2,TX2). Версия платы Esp32 DevKit v1.

Проблема в том что невозможно читать данные с обеих датчиков одновременно. Получается прочитать с RX2,TX2 но только один датчик. Да еще и прошить не получается если на RX0, TX0 подключен датчик.

Читал в интернете что есть еще один порт для UART.

В чем может быть проблема ? Как это дело настраивается ?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

здесь есть как использовать Serial1

http://www.bizkit.ru/2019/02/11/12206/

Master_G
Offline
Зарегистрирован: 04.07.2019

Спасибо! постараюсь разобраться.

Master_G
Offline
Зарегистрирован: 04.07.2019

Доброго дня!

Скажите пожалуйста на моей плате (Esp32 DevKit v1  30 pin) нет ножки GPIO10 UART1 TX  и GPIO9 UART1 RX

Это значит что на ней нет всего 2 UART канала (UART0 и UART2) ?

 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Да, есть версии ESP где ноги заняты или не выведены.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

в esp32 под uart можно использовать почти любые выводы, я же давал ссылку как это реализуется

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Valera19701 пишет:

в esp32 под uart можно использовать почти любые выводы, я же давал ссылку как это реализуется

Это касается только Serial2, первый и нулевой жестко сидят на заранее определенных ногах. Так что почитайте свою ссылку внимательнее !

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015


#define RXD1 15 //RX1 pin
#define TXD1 4 //TX1 pin
Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);

brokly, сами прочтите повнимательней, 9 и 10 пины используются внутреней флэш, их использовать не рекомендуется

Master_G
Offline
Зарегистрирован: 04.07.2019

Гдето на другом сайте читал что это только для 38 пиновой ESP32. Незнаю верно ли. Вот моя снизу. Где тут например ножки 9 и 10 которые используются внутренней вфлешкой ?

 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

выводы 17 18 чипа

Master_G
Offline
Зарегистрирован: 04.07.2019

В общем флешкой заняты ножки 1 и 3.  А не 17 и 16. Но меня больше интересует можно ли через Serial1.begin сделать на этой плате выход в UART с ножками 15 и 4 ?

#define RXD1 15 //RX1 pin
#define TXD1 4 //TX1 pin
Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);

 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

Master_G пишет:

В общем флешкой заняты ножки 1 и 3.  А не 17 и 16. Но меня больше интересует можно ли через Serial1.begin сделать на этой плате выход в UART с ножками 15 и 4 ?

#define RXD1 15 //RX1 pin
#define TXD1 4 //TX1 pin
Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);

 

Я говорил о выводах 17 18 чипа, а не про GPIO 16 17, это разные вещи, а кто мешает вам проверить GPIO 15 4, будут ли работать как serial1? или вы в этом ничего не понимаете

#define RXD1 15 //RX1 pin
#define TXD1 4 //TX1 pin
Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);

 

Master_G
Offline
Зарегистрирован: 04.07.2019

Ладно я попробую и напишу. Просто из за работы пока времени нет. Спасибо за отзывы.