From 2a561ad0ed518ba8e6c154913df958b23cae1378 Mon Sep 17 00:00:00 2001 From: KLASSENTS Date: Mon, 26 May 2025 13:39:40 +0700 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D1=8A=D1=8F=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D1=8E=D1=82=D1=81=D1=8F=20=D0=B4=D0=B2=D0=B0=20=D1=8D=D0=BA?= =?UTF-8?q?=D0=B7=D0=B5=D0=BC=D0=BF=D0=BB=D1=8F=D1=80=D0=B0=20serial=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BD=D0=BE=D0=BC=D0=B5=D1=80=D1=83=20=D0=B6?= =?UTF-8?q?=D0=B5=D0=BB=D0=B5=D0=B7=D0=BD=D0=BE=D0=B3=D0=BE=20uart,=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=B4=D0=B5=D1=84=D0=BE=D0=BB=D1=82=D1=83=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D1=82=D0=BE=D1=82,=20=D1=87=D1=82=D0=BE=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=20=D0=B4=D0=BB=D1=8F=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=B6=D0=B4=D0=BE=D0=B9=20=D0=BF=D0=BB=D0=B0=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cores/arduino/HardwareSerial.cpp | 7 +++++-- cores/arduino/HardwareSerial.h | 4 +++- variants/elbear_ace_nano/pins_arduino.h | 1 + variants/elbear_ace_uno/pins_arduino.h | 1 + variants/elsomik/pins_arduino.h | 1 + variants/start/pins_arduino.h | 1 + 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cores/arduino/HardwareSerial.cpp b/cores/arduino/HardwareSerial.cpp index 284d8fc..a0a6642 100644 --- a/cores/arduino/HardwareSerial.cpp +++ b/cores/arduino/HardwareSerial.cpp @@ -8,10 +8,13 @@ #include "wiring_LL.h" // HardwareSerial class objects for use in Arduino IDE -HardwareSerial Serial(0); +HardwareSerial Serial0(0); #if SERIAL_PORT_QTY > 1 HardwareSerial Serial1(1); #endif +// default interface +HardwareSerial& Serial = DEFAULT_SERIAL; + void serialEvent() __attribute__((weak)); bool Serial0_available() __attribute__((weak)); @@ -144,7 +147,7 @@ extern "C" void __attribute__((optimize("O3"))) serial_interrupt_handler(uint8_t { if (uartNumInt == 0) { - Serial.rx_complete_irq(); + Serial0.rx_complete_irq(); } else if ((uartNumInt == 1) && (SERIAL_PORT_QTY > 1)) { diff --git a/cores/arduino/HardwareSerial.h b/cores/arduino/HardwareSerial.h index d7f60a1..792bf13 100644 --- a/cores/arduino/HardwareSerial.h +++ b/cores/arduino/HardwareSerial.h @@ -103,10 +103,12 @@ class HardwareSerial : public Stream inline void rx_complete_irq(void) __attribute__((always_inline, optimize("O3"))); }; -extern HardwareSerial Serial; +extern HardwareSerial Serial0; #if SERIAL_PORT_QTY > 1 extern HardwareSerial Serial1; #endif +// default interface +extern HardwareSerial& Serial; extern void serialEventRun(void) __attribute__((weak)); diff --git a/variants/elbear_ace_nano/pins_arduino.h b/variants/elbear_ace_nano/pins_arduino.h index e04ad86..847bba2 100644 --- a/variants/elbear_ace_nano/pins_arduino.h +++ b/variants/elbear_ace_nano/pins_arduino.h @@ -81,6 +81,7 @@ void additionalPinsDeinit(uint32_t PinNumber); // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/elbear_ace_uno/pins_arduino.h b/variants/elbear_ace_uno/pins_arduino.h index dea17b3..045510c 100644 --- a/variants/elbear_ace_uno/pins_arduino.h +++ b/variants/elbear_ace_uno/pins_arduino.h @@ -76,6 +76,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/elsomik/pins_arduino.h b/variants/elsomik/pins_arduino.h index af3c02a..19afe33 100644 --- a/variants/elsomik/pins_arduino.h +++ b/variants/elsomik/pins_arduino.h @@ -109,6 +109,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits diff --git a/variants/start/pins_arduino.h b/variants/start/pins_arduino.h index d3c7aa4..59c310b 100644 --- a/variants/start/pins_arduino.h +++ b/variants/start/pins_arduino.h @@ -122,6 +122,7 @@ static inline void additionalPinsDeinit(uint32_t PinNumber){} // UART // available uarts quantity #define SERIAL_PORT_QTY 2 +#define DEFAULT_SERIAL Serial0 // ADC #define MCU_ADC_RESOLUTION 12 // bits