Как я могу в цифровом формате прочитать вывод, который находится в режиме вывода pinMode?

У меня есть очень простой тест набросок , в котором я пытаюсь установить штифт на ВЫСОКИЙ , а затем прочитать его состояние с помощью digitalRead ]. Вот мой набросок.

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

void loop()
{
    delay(1000);

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

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

Результат последовательного мониторинга:

0
0
0
0

Я понял, что изменение pinMode остановит его ВЫСОКИЙ . Таким образом, установка вывода на HIGH в режиме OUTPUT , а затем переход в режим INPUT изменит его на LOW . Таким образом, digitalRead всегда будет возвращать 0. Если я не изменю pinMode, он не сможет прочитать контакт. Итак, как я могу прочитать текущую настройку вывода, который находится в режиме ВЫХОД , не теряя значения?

29
задан Peter Mortensen 7 June 2011 в 19:30
поделиться