Fix ESP32 change baudrate (#17869)

This commit is contained in:
Theo Arends 2023-03-26 16:37:29 +02:00
parent 2afa863e54
commit 61b8e95543
2 changed files with 4 additions and 4 deletions

View File

@ -228,7 +228,7 @@ bool TasmotaSerial::begin(uint32_t speed, uint32_t config) {
#ifdef ESP32 #ifdef ESP32
if (TSerial == nullptr) { // Allow for dynamic change in baudrate or config if (TSerial == nullptr) { // Allow for dynamic change in baudrate or config
if (freeUart()) { // We prefer UART1 and UART2 and keep UART0 for debugging if (freeUart()) { // We prefer UART1 and UART2 and keep UART0 for debugging
#ifdef ARDUINO_USB_CDC_ON_BOOT #if ARDUINO_USB_MODE
TSerial = new HardwareSerial(m_uart); TSerial = new HardwareSerial(m_uart);
#else #else
if (0 == m_uart) { if (0 == m_uart) {
@ -239,7 +239,7 @@ bool TasmotaSerial::begin(uint32_t speed, uint32_t config) {
} else { } else {
TSerial = new HardwareSerial(m_uart); TSerial = new HardwareSerial(m_uart);
} }
#endif // ARDUINO_USB_CDC_ON_BOOT #endif // ARDUINO_USB_MODE
if (serial_buffer_size > 256) { // RX Buffer can't be resized when Serial is already running (HardwareSerial.cpp) if (serial_buffer_size > 256) { // RX Buffer can't be resized when Serial is already running (HardwareSerial.cpp)
TSerial->setRxBufferSize(serial_buffer_size); TSerial->setRxBufferSize(serial_buffer_size);
} }

View File

@ -2018,7 +2018,7 @@ void SetSerialBegin(void) {
SetSerialSwap(); SetSerialSwap();
#endif // ESP8266 #endif // ESP8266
#ifdef ESP32 #ifdef ESP32
#ifdef ARDUINO_USB_CDC_ON_BOOT #if ARDUINO_USB_MODE
// Serial.end(); // Serial.end();
// Serial.begin(); // Serial.begin();
// Above sequence ends in "Exception":5,"Reason":"Load access fault" // Above sequence ends in "Exception":5,"Reason":"Load access fault"
@ -2028,7 +2028,7 @@ void SetSerialBegin(void) {
Serial.end(); Serial.end();
delay(10); // Allow time to cleanup queues - if not used hangs ESP32 delay(10); // Allow time to cleanup queues - if not used hangs ESP32
Serial.begin(TasmotaGlobal.baudrate, ConvertSerialConfig(Settings->serial_config)); Serial.begin(TasmotaGlobal.baudrate, ConvertSerialConfig(Settings->serial_config));
#endif // Not ARDUINO_USB_CDC_ON_BOOT #endif // Not ARDUINO_USB_MODE
#endif // ESP32 #endif // ESP32
} }