GyverLibs / microDS18B20

Легкая и удобная в обращении библиотека для работы с 1-Wire термометрами DS18B20
MIT License
46 stars 11 forks source link

Поясните пожалуйста за digitalWrite(DS_PIN, LOW); в конструкторе библиотеки? #20

Closed dn-kolesnikov closed 1 year ago

dn-kolesnikov commented 1 year ago

В конструкторе библиотеки есть такой код:

    MicroDS18B20() {
        pinMode(DS_PIN, INPUT);
        digitalWrite(DS_PIN, LOW);
    }

В документации для ардуино пишут, что digitalWrite(DS_PIN, LOW); применима только к пинам настроенным на OUTPUT. Попробовал закомментировать эту строку и все примеры на платах Uno и BluePill отработали штатно, датчики опрашиваются, температуру и ROM отдают. Можно ликбез про эти режимы при создании датчика?

GyverLibs commented 1 year ago

В документации для ардуино не знают, как работает GPIO. В режиме INPUT пин может быть LOW (состояние High-Z, висит в воздухе) или HIGH (подтянут к VCC внутренним резистором)