У меня есть очень простой тест набросок , в котором я пытаюсь установить штифт на ВЫСОКИЙ
, а затем прочитать его состояние с помощью 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, он не сможет прочитать контакт. Итак, как я могу прочитать текущую настройку вывода, который находится в режиме ВЫХОД
, не теряя значения?