boolean

arssev1
Offline
Зарегистрирован: 10.04.2014

Если верить этому коду

int LEDpin = 5;       // Светодиод на входе 5
int switchPin = 13;   // выключатель на порту 13, замыкает на землю
 
boolean running = false;
 
void setup()
{
  pinMode(LEDpin, OUTPUT);
  pinMode(switchPin, INPUT);
  digitalWrite(switchPin, HIGH);      // включаем подтягивающий резистор
}
 
void loop()
{
  if (digitalRead(switchPin) == LOW)
  {  // выключатель нажат, т.к. подтягивающий резистор будет давайть HIGH на входе, если не замкнут напрямую на землю
    delay(100);                        // ждем 0.1сек
    running = !running;                // меняем значение булевой переменной
    digitalWrite(LEDpin, running)      // включаем или выключаем светодиод.
  }
}

То true/false идентично HIGH и LOW? Так ли это?

Geronimo
Offline
Зарегистрирован: 06.05.2013

TRUE = HIGH = 1

FALSE = LOW = 0

arssev1
Offline
Зарегистрирован: 10.04.2014

Т.е если я правильно понял, то тогда

digitalWrite(pin, true)

и

digitalWrite(pin, 1)

Работает также как и 

digitalWrite(pin, HIGH)

Так ли это?

Клапауций
Offline
Зарегистрирован: 10.02.2013

arssev1 пишет:

Т.е если я правильно понял, то тогда

digitalWrite(pin, true)

и

digitalWrite(pin, 1)

Работает также как и 

digitalWrite(pin, HIGH)

Так ли это?

что мешает проверить практически?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Во первых сам вопрос странный, потому что непонятно, зачем это нужно. Во вторых не рекомендую подменять одно другим, привыкните, потому будете удивляться.

Формально, да, значения могут быть равны, но типы разные, потому кровесмешение оно опасно, работает, но до поры до времени. В общем не рекомендую. Съэкономите 2 байта, а огребете проблем на неделю копания в отдачике.