• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Делюсь опытом Зачем пользоваться костылем SoftSerial, когда у ESP8266 два аппаратных UART?

enjoynering

Well-known member
Кстати у Espressif выходит новый чип. Полностью отказались от второго ядра. Теперь Xtensa single-core 32-bit LX7 на частоте 240MHz. SRAM 320Kb, ROM 128Kb, есть DAC и ADC, USB OTG, bluetooth нет.
 

pvvx

Активный участник сообщества
Кстати у Espressif выходит новый чип. Полностью отказались от второго ядра. Теперь Xtensa single-core 32-bit LX7 на частоте 240MHz. SRAM 320Kb, ROM 128Kb, есть DAC и ADC, USB OTG, bluetooth нет.
Угу - новости от 21 МАЯ 2019 Г в cnx-software...
Прошлогодний PDF про это https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf
 

Muk

New member
Оставлю здесь уточнение, может пригодится кому-нибудь.

Serial.swap() не имеет никакого отношения к второму UART на ESP8266 (aka UART1).
Если посмотреть код этой функции, можно увидеть, что внутри ее меняется бит IOSWAPU0 регистра IOSWAP, который описан так:

#define IOSWAPU0 2 //Swaps UART 0 pins (u0rxd <-> u0cts), (u0txd <-> u0rts)

Т.е. RX и TX от UART0 переключаются на другие ноги (неиспользуемые CTS и RTS).

А поменять местами UART0 и UART1 можно так:
IOSWAP |= (1 << IOSWAPU);
Только это ничего принципиально не изменит, просто UART0 и UART1 поменяются местами, а описанные ограничения UART1 начнут относиться к UART0.
 
Сверху Снизу