Skip to content

Commit 0931a62

Browse files
authored
fix(uart): solves the case when uart has already been initialized
1 parent 0beaa5e commit 0931a62

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

Diff for: cores/esp32/HardwareSerial.cpp

+5-12
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,11 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
313313
// map logical pins to GPIO numbers
314314
rxPin = digitalPinToGPIONumber(rxPin);
315315
txPin = digitalPinToGPIONumber(txPin);
316+
int8_t _rxPin = uart_get_RxPin(_uart_nr);
317+
int8_t _txPin = uart_get_TxPin(_uart_nr);
318+
319+
rxPin = rxPin < 0 ? _rxPin : rxPin;
320+
txPin = txPin < 0 ? _txPin : txPin;
316321

317322
HSERIAL_MUTEX_LOCK();
318323
// First Time or after end() --> set default Pins
@@ -343,13 +348,9 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
343348
// do not change RX2/TX2 if it has already been set before
344349
#ifdef RX2
345350
rxPin = _rxPin < 0 ? (int8_t)RX2 : _rxPin;
346-
#else
347-
rxPin = _rxPin;
348351
#endif
349352
#ifdef TX2
350353
txPin = _txPin < 0 ? (int8_t)TX2 : _txPin;
351-
#else
352-
txPin = _txPin;
353354
#endif
354355
}
355356
break;
@@ -360,13 +361,9 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
360361
// do not change RX2/TX2 if it has already been set before
361362
#ifdef RX3
362363
rxPin = _rxPin < 0 ? (int8_t)RX3 : _rxPin;
363-
#else
364-
rxPin = _rxPin;
365364
#endif
366365
#ifdef TX3
367366
txPin = _txPin < 0 ? (int8_t)TX3 : _txPin;
368-
#else
369-
txPin = _txPin;
370367
#endif
371368
}
372369
break;
@@ -377,13 +374,9 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
377374
// do not change RX2/TX2 if it has already been set before
378375
#ifdef RX4
379376
rxPin = _rxPin < 0 ? (int8_t)RX4 : _rxPin;
380-
#else
381-
rxPin = _rxPin;
382377
#endif
383378
#ifdef TX4
384379
txPin = _txPin < 0 ? (int8_t)TX4 : _txPin;
385-
#else
386-
txPin = _txPin;
387380
#endif
388381
}
389382
break;

0 commit comments

Comments
 (0)