¿Cómo puedo digital leer un pin que está en pinMode OUTPUT?

Tengo una prueba muy simplebosquej en el que estoy tratando de establecer un pin enHIGH y luego lea su estado condigitalRead. Aquí está mi boceto.

void setup()
{
    Serial.begin(9600);
}

void loop()
{
    delay(1000);

    pinMode(3, OUTPUT);
    digitalWrite(3, HIGH);
    delay(1000);

    pinMode(3, INPUT);
    Serial.println(digitalRead(3));
}

Resultado del monitor serie:

0
0
0
0

He entendido que cambiar el pinMode evitará que seaHIGH. Entonces, establecer un pin enHIGH inOUTPUTodo @ y luego cambiar aINPUTl modo @ lo cambiará aLOW. Por lo tanto, digitalRead siempre devolverá 0. Si no cambio el pinMode, no podrá leer el pin. Entonces, ¿cómo puedo leer la configuración actual de un pin que está enOUTPUT modo sin perder el valor?

Respuestas a la pregunta(11)

Su respuesta a la pregunta