forked from espressif/arduino-esp32
Allows setting only one pin (rx or tx) in the first begin() (#6394)
This commit is contained in:
@ -261,19 +261,25 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
|
|||||||
if (!uartIsDriverInstalled(_uart)) {
|
if (!uartIsDriverInstalled(_uart)) {
|
||||||
switch (_uart_nr) {
|
switch (_uart_nr) {
|
||||||
case UART_NUM_0:
|
case UART_NUM_0:
|
||||||
rxPin = rxPin < 0 ? SOC_RX0 : rxPin;
|
if (rxPin < 0 && txPin < 0) {
|
||||||
txPin = txPin < 0 ? SOC_TX0 : txPin;
|
rxPin = SOC_RX0;
|
||||||
|
txPin = SOC_TX0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#if SOC_UART_NUM > 1 // may save some flash bytes...
|
#if SOC_UART_NUM > 1 // may save some flash bytes...
|
||||||
case UART_NUM_1:
|
case UART_NUM_1:
|
||||||
rxPin = rxPin < 0 ? RX1 : rxPin;
|
if (rxPin < 0 && txPin < 0) {
|
||||||
txPin = txPin < 0 ? TX1 : txPin;
|
rxPin = RX1;
|
||||||
|
txPin = TX1;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
#if SOC_UART_NUM > 2 // may save some flash bytes...
|
#if SOC_UART_NUM > 2 // may save some flash bytes...
|
||||||
case UART_NUM_2:
|
case UART_NUM_2:
|
||||||
rxPin = rxPin < 0 ? RX2 : rxPin;
|
if (rxPin < 0 && txPin < 0) {
|
||||||
txPin = txPin < 0 ? TX2 : txPin;
|
rxPin = RX2;
|
||||||
|
txPin = TX2;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user