Skip to content

HardwareSerial::end() won't detach RX/TX from IO MUX when it is executed isolated #8573

Closed
@SuGlider

Description

@SuGlider

Using, for instance, ESP32S3 GPIO 43 and/or GPIO44 for OneWire:

GPIOs 43 and 44 are default UART pins.
The issue seems related to being able to detach the GIPOs 43 and 44 from IO Mux and UART.
The execution of Serial0.end() shall do it, but I read the code again and realized that because, it has never been initialized, it also doesn't run the code to detach the IO MUX.

Therefore, @teastainGit, please try you code in this way:

void setup() {
  // Serial0 is the UART0 when the S3 CDC is enabled
  Serial0.begin(115200); // this will initialize the UART with GPIOs 43 and 44, marking those pins to be detached
  Serial0.end(); // this will detach GPIOs 43 and 44
  
  // code as usual...
  Serial.begin();
  delay(200);
  Serial.println(" setup ");
  delay(200);
  sensors.begin();
}

Originally posted by @SuGlider in #8324 (comment)

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions