diff --git a/cores/esp32/HardwareSerial.cpp b/cores/esp32/HardwareSerial.cpp index 7abce142..c59da847 100644 --- a/cores/esp32/HardwareSerial.cpp +++ b/cores/esp32/HardwareSerial.cpp @@ -174,9 +174,9 @@ void HardwareSerial::flush(bool txOnly) uartFlushTxOnly(_uart, txOnly); } -size_t HardwareSerial::write(std::string_view buf) +size_t HardwareSerial::write(std::basic_string_view buf) { - uartWriteBuf(_uart, (const uint8_t *)buf.data(), buf.size()); + uartWriteBuf(_uart, buf.data(), buf.size()); return buf.size(); } uint32_t HardwareSerial::baudRate() diff --git a/cores/esp32/HardwareSerial.h b/cores/esp32/HardwareSerial.h index 68fe361c..3954b0b6 100644 --- a/cores/esp32/HardwareSerial.h +++ b/cores/esp32/HardwareSerial.h @@ -70,7 +70,8 @@ public: } void flush(void); void flush( bool txOnly); - size_t write(std::string_view buf); + size_t write(std::string_view buf) { return write(std::basic_string_view{reinterpret_cast(buf.data()), buf.size()}); } + size_t write(std::basic_string_view buf); uint32_t baudRate(); operator bool() const;