• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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.
 
Сверху Снизу