У меня очень простой тест sketch , в котором я пытаюсь установить пин-код на HIGH
, а затем прочитать его состояние с помощью 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
. Поэтому, установив контакт на HIGH
в режиме OUTPUT
, а затем переключившись на режим INPUT
, вы измените его на LOW
. Поэтому digitalRead всегда будет возвращать 0. Если я не изменю pinMode, он не сможет прочитать пин-код. Итак, как я могу прочитать текущую настройку контакта, который находится в режиме OUTPUT
, не теряя значение?